2 skaitiaozhan skaitiaozhan 于 2016.03.16 00:15 提问

linux C/C++ 多线程编程的问题

一个进程中开n个线程,这些线程每个都是read()阻塞的。
如何给他们分配均匀的cpu时间片让他们平等的阻塞等待I/O呢?
希望了解这类函数方法以及实现代码。解决的链接也可,谢谢了

2个回答

czwtczwt
czwtczwt   2016.03.16 11:01
已采纳

如果说要直接控制操作系统对于线程的cpu分配恐怕做不到。
你应该是想及时地响应可读事件吧? 建议看看linux下 事件多路分离机制 epool select 之类的,
http://blog.csdn.net/hdutigerkin/article/details/7517390。

skaitiaozhan
skaitiaozhan epoll还是蛮好用的。我直接摈弃了多线程,就进程的主线程做了epoll,谢了
一年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.03.16 10:28

这个没办法控制,这都是抢占式任务。没法均匀分配。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!