JAVA学习历程记录(九)——线程二

本文记录了JAVA学习过程中的线程相关知识,包括死锁的概念,如何实现等待唤醒机制,wait和sleep的区别,线程的五种状态以及守护线程和线程优先级的介绍。通过实例分析了线程间的协作和调度,有助于理解JAVA线程的底层原理。
摘要由CSDN通过智能技术生成

JAVA学习历程记录(九)

死锁

多个进程在运行过程中因为争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进

import sun.plugin.BeansViewer;

public class TestDemo {
   
    public static void main(String[] args) {
   
        Object obj = new Object();
        Object obj1 = new Object();
        new Thread(new B(obj,obj1)).start();
        new Thread(new A(obj,obj1)).start();


    }

}
 class A implements Runnable{
   
    Object obj = new Object();
    Object obj1 = new Object();
     public A(Object obj,Object obj1){
   
         this.obj = obj;
         this.obj1 = obj1;
     }

     @Override
     public void run() {
   
         while (true){
   
             synchronized (obj1){
   
                 System.out.println("这是A1");
                 synchronized (obj){
   
                     System.out.println("这是A2");
                 }
             }
         }
     }
 }
 class B implements Runnable{
   
    Object obj = new Object();
     Object obj1 = new Object();
     public B(Object obj,Object obj1){
   
         this.obj = obj;
         this.obj1 = obj1;
     }
     @Override
     public void run() {
   
         while (true){
   
             synchronized (obj){
   
                 System.out.println("这是B1");
                 synchronized (obj1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值