diandengpao
diandengpao
线程池当然也可以设计成单例类,但问题是线程池没有对外的方法。在这个项目中线程池不需要对外提供调用。而数据库需要提供获得连接和释放连接。而线程池不需要提供对外获得线程和释放线程,因为线程是在内部唤醒的
请问下具体是哪个同步,是请求对列吗
第一个应该仅仅是防御性编程, 因为调用 process 前 必先 经过 read_once, 所以确实不会有null的风险。 第二个我可以解释。 sem 是 唤醒线程的,而m_queuelocker 是 m_workqueue的对应锁,所以唤醒线程后如果要操作 m_workqueue 依旧必须要上锁。 至于为什么需要判m_workqueue为空,则是虚假唤醒的问题。 由于作者风格较古老,所以代码冗长。 详情可见新的c++ 生产者消费者模型。这里贴下个人写的,仅供参考 ```cpp #include #include #include #include #include #include using namespace std;...
不行,用的函数都是linux下的
经测试,是错的。 代码如下 ```cpp #include using namespace std; bool process_write() { int ret = 3; switch (ret){ case 3: if (0) return true; else if (0) return false; default: cout