QWorker目前已经实现要求的功能,那么,它的未来之路指向何方?我试图整理思路,下面只是头脑发热的内容,可能根本没精力去实现,也不会有人投资到这方面,让我有足够的资源去实现。
1、QFlow
这个是对QWorker的简单继承与发展,目标很明显,是基于作业调度的工作流控制。作业的调度本身,QWorker已经完成,QFlow的使命是以它为基础,构建一个可视化的流程设计调度平台。
2、QScript
多线程编程可以说是程序员的噩梦,很少有人能在这个坑里不伤痕累累。基于QWorker提供的作业调度能力,如果能提供一种语言,让程序员拜托各种各样的锁,对于程序员这个群体来说,将是革命性的;对于压榨光多核心硬件的性能,也将具有重要意义。
这个语言应达到以下要求:
1、语法上要简单实用,支持操作符重载和泛型,以C++和Pascal为基础进行设计。
2、函数应提供一种简单的保留字,如nowait代表这个函数可以由调度程序安排在后台线程里开始执行。函数可以同时可声明自己的依赖关系,以便调度程序自动同步函数的执行顺序。
3、自动的锁粒度选择。该用什么级别的锁,锁粒度应根据源码的执行顺序及并发访问内容的大小,自动从原子锁、多读单写、临界等中选择。必要时可以将多个变量的访问合并到同一个锁里。而这对绝大部分程序员来说,要成为默认最佳选择。
扯的太远了,理想太遥远,现实太骨感,仅此留念而已。