c - 什么是线程池?

标签 c pthreads threadpool

实现线程池的概念是什么(在 pthreads 的帮助下在 C 中)? 如何分配线程从线程池中执行?

最佳答案

线程池是在应用程序启动时创建的固定数量线程的集合。然后线程等待请求到达它们,通常是通过一个由信号量控制的队列。当发出请求时,至少有一个线程在等待,该线程被唤醒,为请求提供服务,然后返回等待信号量。如果没有线程可用,则请求排队直到有可用线程为止。

与简单地为每个请求启动一个新线程相比,线程池通常是一种更有效的资源管理方式。但是,某些架构允许在应用程序运行时创建新线程并将其添加到池中,具体取决于请求加载。

关于c - 什么是线程池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188066/

相关文章:

计算范数/内积的C算法

c++ - pthreads 编译但未创建二进制文件

c# - 针对非异步服务的异步编程

c++ - 测试 x_np pthread 函数的可用性 - C/C++

c++ - IO 完成端口与线程池 API

c# - ThreadPool 在 Debug模式和运行时表现不同

c++ - 为什么我的 DirectInput8 堆栈会溢出?

c - fscanf() 将什么放入 char 指针?

c - C 中的格式说明符

c - 一旦另一个线程运行就启动线程