多线程实践所想

    前情提要:在开发和调试多线程的过程中有些实践感悟。多线程的并发性决定其无序性。把任务切成小块后让线程们开始各自消化。当然你要确保这些线程不会争用资源。否则你应该加上同步锁。

       谁拥有谁提供原则。这个原则原是面向对象的中的一条。但在多线程在这个思想特别有用。因为多线程中的多并发让你无暇顾及每个线程的事务。所以和线程自身相关的东西还是在线程中自己处理。

       使用完及时清空。有喜欢在循环清空list或map的习惯。多线程则更倾向于任务完成后及时清理。在多线程开始前先整体清理一遍。后面就是各自清理自己的了。

       原子性操作。特指对计数器的操作。加完一条记录后计数器加一。这两个操作一定要写在同一个同步锁方法中。

       整除清空和满值清空。buffer的清理,如满 1000输出一次到文件。计数器能被1000整除作为判断标准性能会低于判断小于1000。多开后会有影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值