易语言协程支持库,支持多线程协程池

很久没有更新,协程库了。最近有空重新了更新了下。

相比上版本。

去除了所有hook,现在只使用系统api接管主线程的消息循环,提高稳定性

支持多线程调度,线程数量自己设置,实现了窃取算法,当有工作线程空闲会去偷其他线程的协程任务来执行。

栈空间现在能设置最小8kb,是独立栈。

多线程调度下协程可以跨线程恢复。

移除了协程事件,等到下版本重新封装。

注意事项:

注意主线程现在不能使用任何堵塞语句,不然会堵塞一些任务。如果使用的是多线程调度开了负载均衡也会有少量堵塞任务无法转移线程。

注意协程任务可以转移线程执行,如果你使用了线程局部变量可以会有一些意料外的情况需要处理。

注意协程何时会被其他线程运行,当协程任务在协同等待库带的锁,通道时不会转移线程,如果你使用任务休眠,任务切出,就有可能出现协程被其他工作线程恢复执行

库是由DLL封装的,介意可以自己提取文件调用。

附上一个单线程调度的简单例子

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。必填项已用*标注