等待线程结束(c++)
Wait for thread to end (C++)
我请求你帮助我更好地理解一些关于c++线程的事情。我使用GNU GCC编译器的代码块,所以因为没有pthread.h (AFAIK),我使用process.h和_beginthread。我希望线程将执行的函数是可重用的。在该函数中有一个while(!finished)语句,所以当我希望线程结束时,我可以将finished设置为true。每次我点击一个按钮,我希望完成的变量将被设置为true,然后我想等到线程死亡,然后我想使用相同的函数启动另一个线程。那么,我怎样才能等待第一个线程的结束呢?对不起,如果这是有点复杂的理解,但我不能解释得更好。
我希望有人能帮助我,我是新的线程世界,我真的需要你的帮助。非常感谢。你的帖子提到了WinAPI。Windows有自己的线程库,已经有几十年的历史了。它是可靠的,非常简单的使用。调用的示例:
HANDLE hThread = CreateThread(nullptr, 0, thread_entry_point, this, 0, &m_dwThreadId);
这将在任何Windows平台上工作。一旦你为Windows做了一些事情,这是值得考虑的。
我个人使用Windows线程和进程已经有几十年了。它们总是很好用,就像医生说的那样。我们现在的电脑可以很容易地启动几千个线程而没有任何问题。除此之外,唯一真正可移植的解决方案是c++ 11线程。
相关文章:
- 为什么在这个代码结束循环中没有得到结束
- 试图对缓存进行跨步测试,但程序并没有结束
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 为什么擦除方法会影响结束方法
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 删除映射和分割错误中的一个过去结束元素
- 如何使用 SFML 在贪吃蛇游戏中定义游戏结束?
- 为什么我的两个 cin 语句没有在程序结束时运行?
- 在函数结束后使用指向变量的指针是否安全?
- C ++尝试并捕获未结束的程序
- 为什么我的程序在输入某个形状的面积的测量值后没有结束?
- 取消引用结束指针到数组类型的一个
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 结束另一个线程中使用的对象的生存期
- 全局向量导致 C++ 程序结束时出现段错误
- 程序显示以退出代码 0; 结束
- 如何显示函数开始、结束行和函数体?
- C++ 从具有开始位置和结束位置的列表中删除
- 使用 shared_ptr 在中断时结束多线程循环
- 文件追加的方式是,它在每次保存C++后结束行