CountDownLatch两种用法
摘要:1.当前线程等待其他线程执行完毕后在执行。 2.模拟高并发场景。 在多线程编程里,CountDownLatch是一个很好的计数器工具。 常用的两个方法: 1、计数器减一 public void countDown() { sync.releaseShared(1); } 2、线程等待,在计算器未到达
阅读全文
wait和notify的理解与使用
摘要:1.对于wait()和notify()的理解 对于wait()和notify()的理解,还是要从jdk官方文档中开始,在Object类方法中有: void notify() Wakes up a single thread that is waiting on this object’s monit
阅读全文
java多线程—Runnable、Thread、Callable区别
摘要:多线程编程优点 进程之间不能共享内存,但线程之间共享内存非常容易。 系统创建线程所分配的资源相对创建进程而言,代价非常小。 Java中实现多线程有3种方法: 继承Thread类 实现Runnable接口 实现Callable接口(参考<Java编程思想(第4版)> 21.2.4章节,原来一直以为是2
阅读全文
使用原子类或synchronized(没用Lock)解决阐述多线程所遇到线程安全问题和解决方案
摘要:例子题目: 创建10个线程,每个线程执行10000次加1,输出总和 正常结果100000 但是如果出现线程不安全会低于100000 注释上面写了 解决方案!!
阅读全文