![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
scanklm
没有不可治愈的伤痛,没有不能结束的沉沦,所有失去的,会以另一种方式归来。——肖尔斯
展开
-
多线程 - 停止正在运行的线程
有两种方法可以停止正在运行的线程: 1、Thread.stop()方法:暴力停止方法,无法保证线程内部业务的原子性,且方法已过期,不建议使用; 2、Thread.interrupt()方法:线程调用interrupt()会生成一个中断标记, 在线程逻辑中通过isInterrupted()判断是否存在中断标记, 存在则return. 一、Thread.stop(): package com.thread; public class StopThread { public st...原创 2020-09-02 20:25:58 · 286 阅读 · 0 评论 -
多线程 -锁机制 - Synchronized
如果对代码加了 synchronized,则在加锁代码逻辑前后会加入 monitorenter 和 monitorexit 指令 JDK1.6版本之前没有锁分级的概念,synchronized是重量级锁,monitorenter 和 monitorexit 指令处理逻辑复杂,性能比较差; 但在JDK1.6版本之后引入了 无锁、偏向锁、轻量级锁、重量级锁 的锁分级概念,根据锁竞争情况的不同,锁状态逐渐升级,性能逐渐递减,但在大部分情况下业务并发情况不高,偏向锁 和 轻量级锁 就能满足我们的要求,只有在严重原创 2020-09-11 14:06:45 · 542 阅读 · 0 评论 -
多线程 - ThreadLocal
一 ThreadLocal定义 ThreadLocal是线程局部变量,是一种保存线程私有信息的机制。 通过 ThreadLocal 可以为每个线程提供线程独有的变量拷贝,用来保证每个线程间访问的变量互不影响,这种变量只在线程的生命周期中起作用,在本线程内随地可取可用,以减少同一个线程内多函数间变量传递的复杂度。 ThreadLocal是用来解决java多线程程序中并发问题的一种方式,除ThreadLocal外,我们也可以通过加锁(eg: synchorinized)的机制来保证变量的线程安全性,但加.原创 2020-09-03 20:07:43 · 242 阅读 · 0 评论