这个太简单了。弄个生产者消费者队列就行了。每个线程启动 100 个协程,一共 16 个核心是 1600 个协程。这些协程都在消费者队列里面抢任务。
如果打算节约资源,就在每个线程里面启动一个监管协程,检测空闲协程的数量。空闲协程太多,就杀掉一些协程,少了就再启动预备状态的协程。
由编程语言,比如 go, java, c# 那样子把协程自动地在各种线程之间调来调去一般都是没有必要的。
【 在 ylh0315 的大作中提到: 】
: 其实重点是,在高频交易系统中,在交易管理环节,需要协程技术,而且是多线程的协程。需要高效率的切换,一个服务完成后,尽可能快速切换到另一个用户,尽量减少服务的空等时间。
: 有点像银行的排队机,一个窗口空了,马上叫下一位。
: 单线程的协程不行,一个连接空闲了,线程还在别的协程忙活,慢慢悠悠轮到这个协程再处理。
: ...................
--
FROM 110.81.0.*