随笔分类 -  thread

摘要:synchronized 修饰静态方法、普通方法与代码块的区别 类锁:所有对象共用一个锁 对象锁:一个对象一把锁,多个对象多把锁。 一、synchronized修饰普通方法(对象锁) class B{ synchronized public void mB(String value) { for ( 阅读全文
posted @ 2021-03-02 10:03 lovelifest 阅读(82) 评论(0) 推荐(0)
摘要:原理 产生线程安全问题的根源在于多线程之间的数据共享。如果没有数据共享,就没有多线程并发安全问题。ThreadLocal就是用来避免多线程数据共享从而避免多线程并发安全问题。它为每个线程保留一个对象的副本,避免了多线程数据共享。每个线程作用的对象都是线程私有的一个对象拷贝。一个线程的对象副本无法被其 阅读全文
posted @ 2021-02-01 16:49 lovelifest 阅读(51) 评论(0) 推荐(0)
摘要:Thread.interrupted()和Thread.isInterrupted()和Thread.interrupt()异同 共性: 调用线程的interrupted()和isInterrupted()方法,只是接受了别的线程传过来的信号,给线程做了中断状态的标志,它们本身不能抛出Interru 阅读全文
posted @ 2021-01-28 18:15 lovelifest 阅读(135) 评论(0) 推荐(0)
摘要:线程的五种状态: 新建(NEW):新创建了一个线程对象。 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。 运行(RUNNING):可运行状态(runnable)的线 阅读全文
posted @ 2021-01-28 18:10 lovelifest 阅读(224) 评论(0) 推荐(0)