|
提到线程,无非就是要想到线程许可。但是许可证等一些东西,用好了也许不错,用不好。。呵呵
我觉得,写多线程,能不用线程许可就不要用。这样效率会高很多。。。。。可以通过框架的构建去避免掉线程许可的应用。
比如:我要启动并发10000的线程应用,那么你
第一步要考虑的事情是:我的这套程序单线程里面,哪个操作是最耗费系统资源的? 那么把这个给筛选出来,然后单独写个例子,在你的测试机器上测试上限,看能跑到多少线程,然后根据这个比例写出线程池,这些步骤,是在值守执行等待的。传递数据进去,并发执行到最大上限,也是不会超过你设置的CPU占用上限的。这样就解决了因为CPU占用问题导致的崩溃;
第二部:数据传参,全局变量+自定义数据类型的数组,给你开的每个线程定义一个id,对应数组内的每个值,每个值对应自定义数据类型的每个值,当然你可以用多维数组。 这样就避免掉了许可证。。。。。。。。
第三部:链接两个线程池之间的数据传输纽带是第二步的设置,其实,你用个单线程去跑,轻松的很。这样,就避免了线程许可的问题,因为这种构架完全就是利用数组的每个成员的多线程特点去规避掉线程之间的互斥特性,进行了隔离。
只是闲的无聊瞎唠叨下。。。。。。看不惯的自己走,别BB。跟个例子,很简单的,仅供参考
|
评分
-
查看全部评分
|