zoukankan      html  css  js  c++  java
  • 第32月第30天 runloop阻塞线程 超时 cmake

    1. runloop阻塞线程 超时

    bool CvCaptureCAM::grabFrame(double timeOut) {
    
        NSAutoreleasePool* localpool = [[NSAutoreleasePool alloc] init];
        double sleepTime = 0.005;
        double total = 0;
    
        // If the capture is launched in a separate thread, then
        // [NSRunLoop currentRunLoop] is not the same as in the main thread, and has no timer.
        //see https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsrunloop_Class/Reference/Reference.html
        // "If no input sources or timers are attached to the run loop, this
        // method exits immediately"
        // using usleep() is not a good alternative, because it may block the GUI.
        // Create a dummy timer so that runUntilDate does not exit immediately:
        [NSTimer scheduledTimerWithTimeInterval:100 target:nil selector:@selector(doFireTimer:) userInfo:nil repeats:YES];
        while (![capture updateImage] && (total += sleepTime)<=timeOut) {
            [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:sleepTime]];
        }
    
        [localpool drain];
    
        return total <= timeOut;
    }

     2.cmake

    、cmake编译

    cd opencv-3.4.1
    mkdir build
    cd build
    
    # 注意,下面是一条指令,部分环境下可能显示成两行,看起来像两行
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/pascal/software/opencv341 ..
    

    得到结果

    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/pascal/downloads/opencv-3.4.1/build
    

    4、make编译

    make
  • 相关阅读:
    WebFrom 复杂控件
    WebFrom 简单控件
    WinForm开发控件集合
    ListView 控件操作
    窗体类型
    WEBFORM--第一讲
    display:inline/block/inline-block
    WINFORM--第五讲(窗体类型)
    WINFORM--第四讲(布局)
    WINFORM--第三讲(下拉列表)
  • 原文地址:https://www.cnblogs.com/javastart/p/10949069.html
Copyright © 2011-2022 走看看