04 2019 档案
摘要:1.ThreadPoolExecutor构造方法 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit, BlockingQueue<Runnable> work
阅读全文
摘要:在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务
阅读全文
摘要:1.新建Account类,使用AtomicLong定义账户余额,增加和减少金额方法使用getAndAdd方法。 2.Bank和Company类与https://www.cnblogs.com/xkzhangsanx/p/10759690.html一致。 3.测试类 4.测试结果 参考:java7并发
阅读全文
摘要:1.新建Account类,使用Semaphore同步增加和减少金额方法。 2.其他和https://www.cnblogs.com/xkzhangsanx/p/10759690.html一致。 注意释放信号量 3.测试结果 参考:java7并发编程实战手册 GitHub地址:https://gith
阅读全文
摘要:1.新建Account类,使用ReentrantLock同步增加和减少金额方法。 2.其他和https://www.cnblogs.com/xkzhangsanx/p/10759690.html一致。 注意释放锁 3.测试结果 Account start money:1000.000000Compa
阅读全文
摘要:1.新建Account类,使用synchronized同步增加和减少金额方法。 2.新建Company类,往账户增加金额,实现Runnable接口 3.新建Bank类,减少账户金额,实现Runnable接口 4.新建Main测试类,创建companyThread和bankThread,启动线程,打印
阅读全文
摘要:我为什么写博客 之前开通过csdn的博客,写过一段时间博客,后来工作忙起来就没有继续写了,工作、学习中遇到的问题重复出现了,但已忘记之前的解决方案细节,又重新查一遍。现在想继续写,但发现csdn页面到处是广告,看着影响心情,就换了博客园来继续写博客,如有写的不对的地方,望指出,共同学习进步! 1.记
阅读全文
摘要:Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析 今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍。本来以为花不了多少时间的,不过最终还是投入了挺多时间来完成这篇文章的。 网上关于 HashMap 和 Concur
阅读全文