pthread lib是否包含线程池实现?或者是否有人们常用的库/
答案 0 :(得分:3)
线程池需要某种形式的线程间通信来分派任务,这超出了基本线程功能的范围。
考虑像ØMQ这样的东西,它提供与ITC,IPC,TCP和PGM套接字的消息传递功能,所有这些都使用相同的单BSD套接字兼容API。其中一个ØMQ套接字类型实现了线程池类型功能,但可以在多个主机上进行扩展,因此可以提供更高的可伸缩性和灵活性。
答案 1 :(得分:3)
答案 2 :(得分:2)
没有官方的pthread线程池库,尽管有很多其他人的库可以通过Google找到。
答案 3 :(得分:1)
在POSIX标准中,使用pthread_create函数创建thraed:
int pthread_create(pthread_t *thread_id,
const pthread_attr_t * attr,
void *(*start_routine)(void*), void *arg);
为了实现线程池,我建议你创建一堆带有pthread_create
函数的线程,一旦创建了线程,就使用count semaphore
。管理线程分配。