多线程
雪子
这个作者很懒,什么都没留下…
展开
-
生产者消费者模式
过多的同步方法可能造成死锁,避免死锁的方法:生产者消费者模式信号灯法:#notify 和 wait 方法需同synchronized一起使用public class ProCusApp { public static void main(String[] args) { Food foods = new Food(); //共同的资源 //多个线程 Productor pro = n...原创 2018-03-22 22:34:29 · 117 阅读 · 0 评论 -
死锁
一个死锁的代码public class Demo{ public static void main(String[] args) { Object g = new Object(); Object m = new Object(); Goods goods = new Goods(g,m); Money money = new Money(g,m); Thread threa...原创 2018-03-22 22:36:37 · 135 阅读 · 0 评论 -
线程基础之—线程的创建
线程创建分三类1.继承Thread+run()启动:创建子类对象 + 对象.start();2.实现Runnable+run()启动:使用静态代理1>创建真实角色2>创建代理角色 Thread+引用3>代理角色.start()推荐使用接口:1、避免单继承局限性2、便于共享资源3.通过Callable接口实现多线程(服务器编程必须掌握)优点:可以获取返回值 Calla...原创 2018-03-19 23:29:46 · 177 阅读 · 0 评论 -
多线程之任务调度
Timer定时器类TimerTask任务类通过java timer timetask:(Spring的任务的任务调度就是通过他们实现的)在这种实现方式中,Timer类实现的是类似于闹钟的功能,也就是定时或者每隔一定时间触发一次线程。其实,Timer类本身实现的就是一个线程,只是这个线程是用来实现调用其它线程的。而TimerTask类是一个抽象类,该抽象类继承自Object并实现了Runnable接...原创 2018-03-25 11:28:36 · 2253 阅读 · 0 评论 -
线程之wait/notify机制
什么是等待/通知机制举个栗子:餐厅里,厨师做好菜之后,通知等待中的服务员就是一个简单的等待通知机制wait:wait方法代码的作用是使当前执行代码的线程进入等待,wait方法是Object类的方法,该方法用来将当前线程置入“预执行队列当中”,并且在wait所在的代码行处停止执行,直到接到通知或被终端为止。在wait之前,线程必须获得该对象的对象级别锁,即只有在同步方法或同步块中才能调用...原创 2019-07-14 13:10:41 · 492 阅读 · 0 评论