多线程
importGuitar
正在学习的小白,个人博客:http://shangxiaoying.cn
展开
-
线程安全的七种解决方法
文章目录一、前言二、线程安全(一)多线程特性1)原子性2)可见性3)有序性(二)线程安全的定义(三)线程安全问题产生的原因(四)解决方法——线程同步1、同步代码块(synchronized)2、同步方法(synchronized)3、Lock类3.1Lock接口关系图3.2Lock类同步锁方法:3.3不可重入锁:3.4可重入锁3.5读写锁4、特属域变量(volatile)4.1作用4.2应用场景5...原创 2020-04-19 19:03:15 · 453 阅读 · 0 评论 -
线程创建的四种方式及其生命周期
文章目录多线程一、进程和线程二、线程创建1、继承Thread类1)创建自定义线程类,重写run方法2)测试类,创建自定义线程,调用其start方法来开启线程2、实现Runable接口1)创建自定义类实现Runable接口2)测试类,创建自定义线程,传入Runable接口实现类的对象3、实现Callable接口1)创建自定义类实现Callable接口2)测试类,需要FutureTask类帮助4、线程...原创 2020-04-19 18:57:34 · 1495 阅读 · 2 评论 -
线程死锁的产生及处理方式
线程死锁一、什么是死锁所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。二、死锁产生的必要条件1、互斥条件进程要求对所分配的资源(如打印机)进行排他性控制,即在一段时间内某资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。2、不可剥夺条件进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能由获得...原创 2020-04-19 18:51:21 · 656 阅读 · 0 评论