美文网首页
1-并发编程了解(死锁、jdk死锁的查看方式)

1-并发编程了解(死锁、jdk死锁的查看方式)

作者: 极客123 | 来源:发表于2019-11-27 14:01 被阅读0次

1.了解下串行和并行的区别: 参考各种百度 (针对单核cpu,通过时间片轮询争夺,时间极短)
2.什么时候适合并发编程: 分段下载超大型文件、生产消费模型、任务间断执行等


减少并发的开销: 无所并发编程、CAS

死锁DEMO


public class T1 {
    static  Object A = new Object();
    static Object B = new Object();
    public static void main(String[] args) { 
        new Thread(()->{
              synchronized(A){
                  try {
                      Thread.sleep(10);
                  } catch (InterruptedException e) {
                      e.printStackTrace();
                  }
                  synchronized (B){
                    System.out.println("吃饭");
                }
            }
        }).start();
        new Thread(()->{
            synchronized(B){
                try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (A){
                    System.out.println("喝水");
                }
            }
        }).start();
    }
}

可以通过jdk的工具进行简单的查看:
通过jps找到相应的javaid
在通过jstack可以查看相应堆栈信息如下图


部分图省略-死锁查看.png 死锁发现后.png

java还有一个比较直观工具 jconsole : 通过cmd执行命令


image.png
image.png

相关文章

  • 1-并发编程了解(死锁、jdk死锁的查看方式)

    1.了解下串行和并行的区别: 参考各种百度 (针对单核cpu,通过时间片轮询争夺,时间极短)2.什么时候适合并发编...

  • Java高并发 -- 并发扩展

    Java高并发 -- 并发扩展 主要是学习慕课网实战视频《Java并发编程入门与高并发面试》的笔记 死锁 死锁是指...

  • Java Concurrent 死锁

    前言 死锁是一个比较大的概念,在并发场景下的加锁行为都有可能产生死锁问题。在Java 并发编程中会有死锁,操作系统...

  • 并发编程情况下几个相应问题简介

    1.并发编程的挑战之死锁 ​ 死锁是两个或更多线程阻塞着等待其它处于死锁状态的线程所持有的锁。死锁通常发生在多...

  • Python并发编程中关于死锁,递归锁,信号量的理解

    并发编程中关于死锁,递归锁,信号量的理解 1.死锁**** ​ 所谓死锁: 是指两个或两个以上的进程或线程在执行过...

  • 并发编程-死锁

    一、细粒度锁 现实世界里,账户转账操作是支持并发的,而且绝对是真正的并行,银行所有的窗口都可以做转账操作。只要我们...

  • Android程序员需要了解的并发编程知识

    前言--阅读本文你将得到什么 1.了解并发编程的基础知识如死锁,Synchronized,ReentrantLoc...

  • 死锁

    在实际编程中,死锁虽然不常见,但是如果遇到死锁便是致命的。接下来了解一下《操作系统》对于死锁产生条件的描述。 死锁...

  • 8)MySQL死锁及解决方案

    前面我们了解了MySQL的锁类型,那么在使用锁之后,大概率会出现死锁的情况。 什么是死锁 死锁是并发系统中常见的问...

  • 并发编程01-对于并发的认知

    多线程和并发的概念 上下文切换 如何减少上下文切换无锁并发编程CAS算法使用最少线程协程 死锁避免死锁的几个常见的...

网友评论

      本文标题:1-并发编程了解(死锁、jdk死锁的查看方式)

      本文链接:https://www.haomeiwen.com/subject/uqrpwctx.html