pthread线程池?

时间:2010-12-31 06:24:33

标签: linux multithreading pthreads

pthread lib是否包含线程池实现?或者是否有人们常用的库/

4 个答案:

答案 0 :(得分:3)

线程池需要某种形式的线程间通信来分派任务,这超出了基本线程功能的范围。

考虑像ØMQ这样的东西,它提供与ITC,IPC,TCP和PGM套接字的消息传递功能,所有这些都使用相同的单BSD套接字兼容API。其中一个ØMQ套接字类型实现了线程池类型功能,但可以在多个主机上进行扩展,因此可以提供更高的可伸缩性和灵活性。

答案 1 :(得分:3)

来自克拉克森大学的Jeanna Matthews有very nice implementation。你为什么不去看看?它遵循标准线程池模式。

答案 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。管理线程分配。