摘要: 第8篇文章在引入join使用场景的时候,有个信息采集功能的案例:有若干台采集服务器,然后还有一台主机,这台主机需要等待这若干台服务器信息采集完之后再做进一步的处理,一台采集服务器就对应一个线程,如之前写的代码: public class ThreadJoin3 { public static voi 阅读全文
posted @ 2020-09-08 01:40 风暴松鼠 阅读(321) 评论(0) 推荐(0)
摘要: wait和sleep的本质区别 先看一下他们的定义: **wait:**线程等待,调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回,需要注意的是调用 wait()方法后,会释放对象的锁。因此,wait 方法一般用在同步方法或同步代码块中。 **sleep:**线程睡 阅读全文
posted @ 2020-09-07 02:46 风暴松鼠 阅读(454) 评论(0) 推荐(0)
摘要: 使用notifyAll完善多线程下的生产者消费者模型 我们先看一下wait()的代码注释: 使当前线程等待,直到另一个线程调用了这个对象的notify()或notifyAll()方法,换句话说,这个方法是执行了wait(0); 当前线程必须拥有该对象的监视器。线程释放此监视器的所有权,并等待另一个线 阅读全文
posted @ 2020-09-07 01:03 风暴松鼠 阅读(126) 评论(0) 推荐(0)
摘要: 多Product多Consumer之间的通讯导致出现程序假死的原因分析 继续上篇文章,我们来吧单个生产者消费者改成多个生产者消费者,这里使用java8的Stream,代码如下: /** * @program: ThreadDemo * @description: 线程通信(生产者-消费者) * @a 阅读全文
posted @ 2020-09-06 20:04 风暴松鼠 阅读(182) 评论(0) 推荐(0)
摘要: 生产者消费者案例,使用wait和notify进行线程间的数据通信 之前学习了线程同步的只是,接下来学习一下线程间的通信相关的知识,这里简单来一个生产者消费者的案例来作为入门,实现效果需为生产者生产一个数字,消费者消费一个数字,代码如下: public class ProduceConsumerVer 阅读全文
posted @ 2020-09-06 18:43 风暴松鼠 阅读(187) 评论(0) 推荐(0)
摘要: 多线程死锁案例以及查看方法 我们先定义一个类调用DeadLock和OtherService。 public class DeadLockTest { public static void main(String[] args) { DeadLock deadLock = new DeadLock() 阅读全文
posted @ 2020-09-06 16:28 风暴松鼠 阅读(255) 评论(0) 推荐(0)
摘要: This锁和Class锁 This锁 接下来代码理解一下This锁: /** * @program: ThreadDemo * @description: This锁的实验 * @author: hs96.cn@Gmail.com * @create: 2020-09-06 */ public cl 阅读全文
posted @ 2020-09-06 11:27 风暴松鼠 阅读(405) 评论(0) 推荐(0)
摘要: 同步代码块以及同步方法之间的区别和关系 上一篇文章我们是使用了同步代码块的方式改进了银行排队取号程序,接下来我们把锁放在方法上试一下: public class TicketWindowRunnable implements Runnable { private int index = 1; pri 阅读全文
posted @ 2020-09-05 18:34 风暴松鼠 阅读(232) 评论(0) 推荐(0)
摘要: 线程同步问题以及synchronized的引入 我们之前写了个模拟银行排队叫号的demo,这里为了说明问题我把代码稍加改造: public class TicketWindowRunnable implements Runnable { private int index = 1; private 阅读全文
posted @ 2020-09-05 18:05 风暴松鼠 阅读(156) 评论(0) 推荐(0)
摘要: 编写ThreadService实现暴力结束线程 上一篇文章最后留下了一个问题,就是如果线程后面被阻塞了,该怎么办?这结合之前学过的ThreadApi写一个ThreadService来暴力结束线程。大致思路是:任务线程设置为调用线程的守护线程,通过main来启动调用线程,从而执行任务线程。当需要停止线 阅读全文
posted @ 2020-09-05 17:09 风暴松鼠 阅读(167) 评论(0) 推荐(0)