
多线程
全面认识多线程
lijie154388366
这个作者很懒,什么都没留下…
展开
-
线程死锁与解决
产生死锁的条件 互斥,共享资源A和共享资源B只能被一个线程占用 占有且等待,线程1已经取得共享资源A,在等待共享资源B的时候不释放共享资源A 不可抢占,其他线程不能强行抢占线程1占有的资源 循环等待,线程1等待线程2占有的资源,线程2等待线程1占有的资源,就是循环等待 如何解决死锁 重启应用 提前规避(破坏死锁条件的一个,互斥是锁的本身一个条件,无法破坏) 死锁举例 /** * 创建一个账号类 */ public class Account { private String accoun原创 2021-11-07 19:19:29 · 190 阅读 · 0 评论 -
线程的基本操作和原理
Thread.join()的使用和原理 public class ThreadJoinDemo { private static int x= 0; private static int i= 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(() -> { x = 1;原创 2021-11-06 16:26:25 · 139 阅读 · 0 评论 -
2021-11-06 【多线程的基本认识】
多线程认识 线程的基本认识 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位 为什么出现线程 1.在多核CPU中,利用多线程可以实现真正意义上的并行执行 2.在一个应用进程中,会存在多个同时执行的任务,如果其中一个任务被阻塞,将会引起不依赖该任务的任务也被阻塞,通过对不同任务创建不同的线程去处理,可以提升程序处理的实时性 3.线程可以认为是轻量级的进程,所以线程的创建、销毁比进程更快 线程的生命周期 线程从创建到销毁,一共经历6个状态 1. NEW:初始状态,线程被构原创 2021-11-06 11:43:17 · 99 阅读 · 0 评论