03 2022 档案

摘要:1.synchronized是关键字,ReentrantLock是一个类 2.synchronized是自动加锁和解锁的,ReentrantLock是手动的 3.syschronize是JVM层面的锁,ReetrantLock是API层面的锁 4.Sychronize是非公平锁,ReentrantL 阅读全文
posted @ 2022-03-31 21:58 适时适言 阅读(34) 评论(0) 推荐(0) 编辑
摘要:1.每个线程都有一个THreadlocalMap类型的成员变量threadlocals,这个map容器的key就是我们的threadlocal,对应的value就是我们要保存的值 2.当执行set方法的时候,先获取当前线程对象,然后获取当前线程对象对应的ThreadlocalMap对象,并把当前线程 阅读全文
posted @ 2022-03-31 20:33 适时适言 阅读(196) 评论(0) 推荐(0) 编辑
摘要:守护线程:也叫后台线程,为所有非守护线程(用户线程)提供服务的线程。 特点:1.在所有的用户线程都执行完毕后,守护线程会自动关闭; 2.一个线程如果要定义成守护线程,他必须可以随时关闭,尤其是那些重要的线程不能定义成守护线程,比如mysql输入之类的,不能中断 3.线程池中没有守护线程,它会自动把守 阅读全文
posted @ 2022-03-31 20:14 适时适言 阅读(128) 评论(0) 推荐(0) 编辑
摘要:一.sleep()和wait()之间的区别: 1.sleep是Thread的静态本地方法,wait是Object的本地方法; 2.sleep不会释放lock,但wait会释放锁,将线程从锁池转到等待池; 3.sleep不依赖与synchronized,但waIt必须和synchronized配套使用 阅读全文
posted @ 2022-03-31 19:54 适时适言 阅读(105) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示