0

我想使用boost::thread类来实现线程池。

我可以使用下面的行创建线程。

boost::thread Consumer_1(consume); 

线程在哪里consumer_1,消费是绑定到它的函数。

上面的语句一执行就启动线程。

现在我只想创建线程并执行绑定运行时间。

我还没有发现boost延迟这个绑定的方法。

有人可以帮忙吗?

4

1 回答 1

1

以后无法绑定。主要的原因——一个执行线程必须在执行某些东西。

您需要做的是创建一个函数,该函数boost::function将从队列中获取表示为 的作业并执行它们。比在一个或多个线程中运行此功能。

我不确定是否有线程安全队列,但您始终可以使用常规std::dequewithboost::condition_variable来唤醒线程和boost::mutex锁定双端队列。

你可能也想看看Boost.Asio。另请参见此处

于 2013-08-23T06:58:49.340 回答