c++ - Windows 线程 : beginthread or QueueUserWorkItem (C++)

标签 c++ multithreading queueuserworkitem beginthread

我想知道是否将 beginthread 或 QueueUserWorkItem 用于 C++ 中的线程方法。这两个 API 之间有什么区别,它们更适合在什么情况下使用?

谢谢,

顺便说一句,我读过这个问题Windows threading: _beginthread vs _beginthreadex vs CreateThread C++

最佳答案

QUWI使用线程池中的一个线程来执行回调函数。这样的线程重量很轻,但并不适合所有类型的线程任务。基本要求是它们需要相对较短的生命周期,不要经常阻塞并且不是时间紧迫的。

这在 SDK topic 中得到了很好的解释。 .

关于c++ - Windows 线程 : beginthread or QueueUserWorkItem (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868351/

相关文章:

c++ - Qt 中可以使用哪个函数来选择 TreeView 中的项目?

c++ - C++循环不断检查变量的速度有多快

java - 每个包的线程超时时的线程安全问题

c# - 我可以使用 parallel.ForEach 来调用不同的函数吗?

c++ - 不正确地终止线程?

c# - 一个读者,许多作者

c++ - 如何从使用 NT 的 QueueUserWorkItem 创建的工作线程调用 COM?

c++ - 关于地址运算符 C/C++

c# - ThreadPool with 2 WaitCallback 有时会卡住

c++ - 可以使用 boost::asio::thread_pool 来代替 boost::asio::io_context 与 boost::thread::thread_group 的组合吗?