如何理解Proactor和线程的关系?
有人问这样的问题:我看了下test_proactor3的例子,在create_proactor()函数里是不是错误的呀? 你有时间的话帮我看一下。我怎么看都只能创建一个proactor 啊!如何才能让Proactor结合多线程运行呢?不是说比较好的线程数是CPU X 2么?
这个其实是理解的问题,必须绕一个弯子才行。系统只有一个Proactor对象(大多数情况下足够了),但这个Proactor对象可以在多个线程里面运行。就是说,Proactor和线程是正交的关系,概念区分的很开。ACE_Task就可以让多个线程运行这个Proactor。达到这个发挥CPU性能的目标。
页:
[1]