c – 如何终止或终止提升线程

前端之家收集整理的这篇文章主要介绍了c – 如何终止或终止提升线程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想终止或杀死提升线程.
代码在这里:
DWORD WINAPI  StartFaceDetector(LPVOID temp)
{   
    int j=0;
    char **argv1;
    QApplication a(j,argv1);//add some thread here  
    gui::VisualControl w;
    t=&w;
    boost::thread u(&faceThread);       
    w.show();
    a.exec();
    // I Want to close u thread here.   
    return 0;   
}

我想在返回函数之前关闭该boost线程.
提前致谢.

解决方法

在Windows上:
TerminateThread(u.native_handle(),0);

在Linux / QNX / UNIX /任何支持pthread的平台上:

pthread_cancel(u.native_handle());

要么

pthread_kill(u.native_handle(),9);

请注意,boost作者故意将其排除在外,因为行为依赖于平台而且定义不明确.但是,你并不是唯一一个能够达到此功能的人……

原文链接:https://www.f2er.com/c/116726.html

猜你在找的C&C++相关文章