pthread线程池?

4

pthread库是否包含线程池实现?还是有常用的库供人们使用?

4个回答

4

来自克拉克森大学的Jeanna Matthews有一个非常不错的实现。为什么不去看一下呢?它遵循标准线程池模式。


3

线程池需要一定形式的线程间通信来分配任务,这超出了基本线程功能的范畴。

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


2

虽然可以通过Google找到其他人的库,但是没有官方的pthread线程池库。


1
在POSIX标准中,线程是通过pthread_create函数创建的:
int pthread_create(pthread_t *thread_id, const pthread_attr_t * attr, void *(*start_routine)(void*), void *arg);
为了实现线程池,我建议您使用pthread_create函数创建一组线程,一旦线程被创建,就使用计数信号量来管理线程分配。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接