首页 > 其他分享 >多线程|死锁

多线程|死锁

时间:2023-08-28 18:15:10浏览次数:33  
标签:synchronized getName System 死锁 多线程 o2 o1 out

public class ThreadDemo19 {
private static Object o1 = new Object();
private static Object o2 = new Object();
public static void main(String[] args) {
Thread t1 = new Thread(){
public void run(){
synchronized (o1){
System.out.println(getName() + "====o1");
synchronized (o2){
System.out.println(getName() + "====o2");
}
}
}
};
Thread t2 = new Thread(){
public void run(){
synchronized (o2){
System.out.println(getName() + "====o2");
synchronized (o1){
System.out.println(getName() + "====o1");
}
}
}
};

}
}

 

 

 

标签:synchronized,getName,System,死锁,多线程,o2,o1,out
From: https://www.cnblogs.com/xbyss/p/17663044.html

相关文章

  • 集合遍历使用多线程并行执行
    在业务中常常有这样的需求,需要遍历集合,分别处理,相互之前单独处理,互不影响。为了充分利用服务器资源,可以使用多线程来执行。parallelStream创建一个并行流,使用ConcurrentHashMap使多线程情况下线程安全CompletableFuture.allOf是所有线程全部执行完获得结果CompletableFuture.......
  • Java多线程-实现 生产者-消费者 模式
    多线程实现生产者消费者,堆积满100后停止生产,消费到小于50后继续生产这是一种写法,但是我觉得不太好:它通过循环创建了很多的线程,每个线程只消费/生产一次它使用notifyAll()通知所有的线程唤醒,包括生产者和消费者,感觉产品数量永远也达不到50publicclassProducerimpleme......
  • 多线程以rtsp流调用多路海康摄像头的思考
    如题,我使用了多线程,以rtsp流调用多路海康摄像头。使用了opencv作为拉流库,但是结果不如人意。当摄像头数增加时,cpu占用率变化不大,但是却出现了卡顿。当增大到5个时,甚至发生崩溃。我使用了千兆光纤网,显然不是带宽问题。那会不会是imshwo显示久了不更新呢,显然不是。接受速度快于显......
  • 【校招VIP】java语言考点之多线程&NIO
    考点介绍:多线程&NIO考点是校招面试中的常制点之一。JavaNIO是newIO的简称,是一种可以替代Java10的一套新的IO机制。它提供了一套不同于Java标准1O的操作机制,严格来说,NIO与并发并无直接关系,但是使用NIO技术可以大大提高线程的使用效率......答案详情解析和文章内容可扫下方二维......
  • Java面试题:顺序锁和轮询锁解决死锁问题
    (目录)死锁(DeadLock)示例两个线程线程1:先获取锁A,再获取锁B线程2:先获取锁B,再获取锁Apackagecom.example.demo;publicclassDeadLockExample{publicstaticvoidmain(String[]args){ObjectlockA=newObject();//创建锁AObjectlockB=n......
  • Linux 多线程基础
    @TOC前言一、多线程基础函数1.pthread_create创建新的线程。#include<pthread.h> intpthread_create(pthread_t*thread,constpthread_attr_t*attr, void*(*start_routine)(void*),void*arg);参数说明:thread:用于存储新线程的ID。attr:线程属......
  • 多线程基础
    进程在计算机中,我们把一个任务称为一个进程,浏览器就是一个进程,视频播放器是另一个进程。某些进程内部还需要同时执行多个子任务。例如,我们在使用Word时,Word可以让我们一边打字,一边进行拼写检查,我们把子任务称为线程。进程和线程的关系:一个进程可以包含一个或多个线程,但至少会有一个......
  • 创建多线程继承Thread和实现Runnable以及synchronized的注意事项
    关于创建多线程继承Thread和实现Runnable以及synchronized的注意事项以下是利用多线程模拟购票的代码publicclassSell{publicstaticvoidmain(String[]args){Ticketticket=newTicket();Ticketticket1=newTicket();ticket.star......
  • 无涯教程-Python - 多线程
    运行多个线程类似于同时运行多个不同的程序,但具有以下优点-一个进程中的多个线程与主线程共享相同的数据空间,因此比起单进程,它们可以更轻松地共享信息或彼此通信。有时称为轻量级进程的线程,它们不需要太多的内存开销。开始新线程要生成另一个线程,您需要调用thread模块中可......
  • Python多线程
    当进行多线程编程时,涉及到以下几个关键概念和操作多线程是指在一个进程中同时运行多个线程,每个线程都可以执行不同的任务。线程是操作系统能够进行运算调度的最小单位,它是进程中的一个实体,可以被操作系统独立调度。以下是与多线程相关的一些核心概念:1.**进程和线程**:-进程......