摘要:
线程池是多线程学习中需要重点掌握的.系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互.在这种情形下,使用线程池可以很好的提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池.一.如何创建线程池??在Java5之前,线程池都是开发才手动实现的,从Java5开始,J... 阅读全文
摘要:
线程内的数据共享与对象独立,举例:张三给李四转钱,开启A线程去执行转钱这个动作,刚好同时王五给赵六转钱,开启B线程去执行转钱,因为是调用的同样一个动作或者说对象,所以如果不能保证线程间的对象独立,那么很有可能发生,张三给李四转钱时把王五转给赵六的转钱一块提交了,而王五转钱整个动作还未完成,那么就造成... 阅读全文
摘要:
需求:设计4个线程,其中两个线程每次对j增加1,另外两个线程对j减少1.实现数据共享的几种方式比较:1.使用同一个runnable对象如果每个线程执行的代码相同,那么可以使用同一个runnable对象,这个runnable有那个共享数据,例如,卖票系统就是这么做的.如下例所示:... publ... 阅读全文