![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
youyouwuxin1234
博主:忧忧吾心
学历:2017.09-2019.07 硕士 - 武汉大学 软件工程
2013.08-2017.06 本科 - 郑州大学 计算机科学与技术
工作:2019.07.02-2021.11.16,在美的集团IT部门国际事业部,任职软件开发工程师
2021.11.22-2021.12.31,在新华三大数据有限公司从事软件研发
2022.01.01-至今,在紫光集团旗下紫光云技术有限公司从事中间件软件研发工作
其他:代表公司参加过2019年杭州阿里巴巴云栖大会
兴趣:爱生活、爱学习、爱运动、爱旅行、爱美食。
展开
-
361、Java中级16 -【多线程 - 原子访问】 2020.06.26
0、目录1、原子性操作概念2、AtomicInteger3、同步测试4、参考链接 1、原子性操作概念 所谓的原子性操作即不可中断的操作,比如赋值操作 int i = 5; 原子性操作本身是线程安全的 但是 i++ 这个行为,事实上是有3个原子性操作组成的。 步骤 1. 取 i 的值 步骤 2. i + 1 步骤 3. 把新的值赋予i 这三个步骤,每一步都是一个原子操作,但是合在一起,就不是原子操作。就不是线程安全的。 换句话说,一个线程在步骤1 取i 的值结束后,还没有来得及进行步骤2,另一个线程也可以取原创 2020-06-26 17:01:19 · 106 阅读 · 0 评论 -
360、Java中级15 -【多线程 - LOCK对象】 2020.06.26
0、目录1、回忆 synchronized 同步的方式2、使用Lock对象实现同步效果3、trylock方法4、总结Lock和synchronized的区别5、参考链接 1、回忆 synchronized 同步的方式 首先回忆一下 synchronized 同步对象的方式 当一个线程占用 synchronized 同步对象,其他线程就不能占用了,直到释放这个同步对象为止 与synchronized类似的,lock也能够达到同步的效果 package multiplethread; import j原创 2020-06-26 16:42:59 · 103 阅读 · 0 评论 -
359、Java中级14 -【多线程 - 线程池】 2020.06.26
0、目录1、线程池2、线程池设计思路3、开发一个自定义线程池4、测试线程池5、参考链接 1、线程池 每一个线程的启动和结束都是比较消耗时间和占用资源的。 如果在系统中用到了很多的线程,大量的启动和结束动作会导致系统的性能变卡,响应变慢。 为了解决这个问题,引入线程池这种设计思想。 线程池的模式很像生产者消费者模式,消费的对象是一个一个的能够运行的任务 2、线程池设计思路 线程池的思路和生产者消费者模型是很接近的。 准备一个任务容器 一次性启动10个 消费者线程 刚开始任务容器是空的,所以线程都wait在上原创 2020-06-26 15:17:49 · 98 阅读 · 0 评论 -
358、Java中级13 -【多线程 - 死锁、交互】 2020.06.26
0、目录1、死锁2、JAVA 线程之间的交互 WAIT和NOTIFY3、不好的解决方式4、使用wait和notify进行线程交互5、关于wait、notify和notifyAll6、参考链接 1、死锁 当业务比较复杂,多线程应用里有可能会发生死锁 线程1 首先占有对象1,接着试图占有对象2 线程2 首先占有对象2,接着试图占有对象1 线程1 等待线程2释放对象2 与此同时,线程2等待线程1释放对象1 就会。。。一直等待下去,直到天荒地老,海枯石烂,山无棱 ,天地合。。。 package multipl原创 2020-06-26 15:06:51 · 110 阅读 · 0 评论 -
357、Java中级12 -【多线程 - 线程安全的类】 2020.06.26
0、目录1、 HashMap和Hashtable的区别 顶 折2、StringBuffer和StringBuilder的区别3、ArrayList和Vector的区别4、把非线程安全的集合转换为线程安全5、参考链接 1、 HashMap和Hashtable的区别 顶 折 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: HashMap可以存放 null Hashtable不能存放null 区别2: HashMap不是线程安全的类 Hashtable是线程安原创 2020-06-26 14:31:30 · 141 阅读 · 0 评论 -
356、Java中级11 -【多线程 - 同步】 2020.06.26
0、目录1、 同步2、演示同步问题3、分析同步问题产生的原因3、解决思路4、synchronized 同步对象概念5、使用synchronized 解决同步问题 顶 折6、使用hero对象作为同步对象 顶 折7、在方法前,加上修饰符synchronized8、线程安全的类9、参考链接 1、 同步 多线程的同步问题指的是多个线程同时修改一个数据的时候,可能导致的问题。 多线程的问题,又叫Concurrency 问题。 2、演示同步问题 假设盖伦有10000滴血,并且在基地里,同时又被对方多个英雄攻击 就是有多原创 2020-06-26 12:01:06 · 95 阅读 · 0 评论 -
294、Java中级11 -【常见的线程方法】 2020.03.31
0、目录1、常见的线程方法2、当前线程暂停3、加入到当前线程中4、线程优先级5、临时暂停6、守护线程7、参考链接 1、常见的线程方法 2、当前线程暂停 Thread.sleep(1000); 表示当前线程暂停1000毫秒 ,其他线程不受影响 Thread.sleep(1000); 会抛出InterruptedException 中断异常,因为当前线程sleep的时候,有可能被停止,这时就会抛出 ...原创 2020-03-31 10:39:19 · 119 阅读 · 0 评论 -
293、Java中级10 -【多线程】 2020.03.31
0、目录1、多线程2、线程概念3、创建多线程-继承线程类4、创建多线程-实现Runnable接口5、创建多线程-匿名类6、创建多线程的三种方式7、参考链接 1、多线程 多线程即在同一时间,可以做多件事情。 创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类 2、线程概念 首先要理解进程(Processor)和线程(Thread)的区别 进程:启动一个LOL.exe就叫一个进程...原创 2020-03-31 10:29:16 · 114 阅读 · 0 评论