![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
庄铭南
这个作者很懒,什么都没留下…
展开
-
【多线程】5.多线程零散知识点(单例、线程状态、线程组、SimpleDateFormat)
单例模式 立即加载(饿汉模式) 立即加载就是使用类的时候已经将对象创建完毕,常见的实现办法就是声明的时候直接new实例化。 // 加载类时候创建对象:静态变量 public class A { private static A a = new A(); // 加载类时候就创建 private A(){} public static A getInstance(){ return a; } } // 加载类时候创建对象:静态代码块 public class A { private stati.原创 2020-06-08 00:50:36 · 192 阅读 · 0 评论 -
【多线程】4.Java中锁对象Lock的使用
ReentrantLock 除了使用synchronized关键字来实现线程之间同步互斥,在JDK1.5中新增了ReentrantLock类也能达到哦同样的效果,并且在扩展功能上也更加强大,例如嗅探锁定、多路分支通知等功能,使用上比synchronized更加灵活。 主要的使用方法: Lock lock = new ReentrantLock(); try { // 获取锁 lock.lock(); doSomething(); } finally { // 释放锁 lock.unlock(.原创 2020-06-06 18:12:57 · 614 阅读 · 0 评论 -
【多线程】3.Java多线程环境中线程间的通信
等待/通知机制 生活举例 厨师通过传菜铃通知服务员上菜 出租车等待乘客呼叫 不通过等待/通知机制的实现方式 在没有等待、通知机制的时候,我们会使用while循环来轮询希望的条件是否满足,例如: // ThreadA public class ThreadA extends Thread { private List<String> list; public ThreadA(List<String> list) { this.list = lis原创 2020-06-05 00:26:41 · 172 阅读 · 0 评论 -
【多线程】2.同步方法、变量的并发访问
变量的线程安全 方法内声明的变量是线程安全的,因为每个线程各自有这个变量的一个副本,数据不共享; 成员变量(对象级变量)是非线程安全的,因为可能存在多个线程争相修改的情况,多线程争抢即不安全; synchronized使用的锁对象 锁定对象 可以锁定Object对象 可以锁定Class对象 锁定Object对象的几种方法 通过给对象的非静态方法增加synchronized声明,即可将this对象作为监视器,锁对象,同一个对象中的多个synchronized方法是同步执行的,因为多个方法使用了syn原创 2020-05-24 23:11:18 · 266 阅读 · 0 评论 -
【多线程】1.Thread类的核心方法
【多线程】Thread类的核心方法 Thread类的核心方法 JDK实现多线程编程的方式 继承Thread类 实现Runnable接口 Thread的主要方法 currentThread() 返回代码段正在被哪个线程调用的信息 isAlive() 判断当前的线程是否处于活动状态 sleep() 在指定的毫秒数内让当前”正在执行的线程“休眠(暂停执行) getId() 取得线程的唯一标识 线程退出 线程退出的方法 线程正常退出 stop()方法强行终止线程,但是会导致不可预料的结果(数据原创 2020-05-23 23:48:01 · 273 阅读 · 0 评论