相关疑难解决方法(0)

我什么时候应该使用std :: thread :: detach?

有时我必须使用它std::thread来加速我的应用程序.我也知道join()等待线程完成.这很容易理解,但是呼叫detach()和不呼叫之间的区别是什么?

我认为没有detach(),线程的方法将独立使用线程.

不分离:

void Someclass::Somefunction() {
    //...

    std::thread t([ ] {
        printf("thread called without detach");
    });

    //some code here
}
Run Code Online (Sandbox Code Playgroud)

呼叫分离:

void Someclass::Somefunction() {
    //...

    std::thread t([ ] {
        printf("thread called with detach");
    });

    t.detach();

    //some code here
}
Run Code Online (Sandbox Code Playgroud)

c++ c++11 stdthread

124
推荐指数
4
解决办法
7万
查看次数

如何定期唤醒C++ 11线程?

对于如何定期唤醒C++ 11线程(比如每100ms),我将不胜感激.该平台是Linux和C++语言.我遇到了这个解决方案:

C++ 11:定期调用C++函数

但他们调用了一个回调函数,然后在计时器间隔内休眠.这意味着实际周期是函数执行时间+间隔.我想以恒定的间隔调用回调,而不管它的执行时间.

我想知道Boost会不会有帮助?但我不想使用它,因为这个项目不是多平台的,我想尽量减少第三方库的使用.

也许将POSIX计时器与C++线程结合起来是一种前进的方式?我不确定这究竟是怎么回事.

任何关于如何开始的建议将不胜感激.

c++ multithreading

7
推荐指数
2
解决办法
8381
查看次数

标签 统计

c++ ×2

c++11 ×1

multithreading ×1

stdthread ×1