![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程基础学习
记录多线程的学习过程
weixin_44588532
这个作者很懒,什么都没留下…
展开
-
Java中死锁问题如何排查
问题描述 在java程序中碰到运行未停止,如何证明是死循环还是死锁问题呢?可以使用Java中自带的命令jps -l 用来查看当前运行的进程号,在使用jstack 进程号命令查看当前进程的堆栈信息 //死锁代码 class DeadLockRes { private String lock1 = "lockAA"; private String lock2 = "lockBB"; public void m1() { synchronized (lock1) { .原创 2022-03-11 22:28:37 · 670 阅读 · 0 评论 -
生产者消费者模式
线程通信之两种常用生产者消费者模式 文章目录线程通信之两种常用生产者消费者模式一、传统的生产者消费者模式二、阻塞队列实现的生产者消费者模式 一、传统的生产者消费者模式 传统的生产者消费者模式一般是采用Synchronized或者Lock锁来实现的。 /** 多线程编程模式 1、高聚低合前提下,线程操作资源类 2、判断/干活/通知 3、防止虚假唤醒 **/ class A { private int nums = 0; public synchronized void increm原创 2022-03-11 15:00:41 · 99 阅读 · 0 评论 -
Java多线程中条件判断为啥要用while判断
Java多线程中生产消费模式总结 一、使用if判断造成的线程虚假唤醒问题 我们在使用线程时,进行条件判断时,往往会先考虑使用if进行判断,在线程进程进行等待时就会出现不确定的结果。先来看看两个线程下的操作。 /** 多线程编程模式 1、高聚低合前提下,线程操作资源类 2、判断/干活/通知 3、防止虚假唤醒 **/ class A { private int nums = 0; public synchronized void increment() throws Interru原创 2022-03-09 11:33:04 · 772 阅读 · 0 评论