
多线程
J-April
高度不够,看到都是问题。
展开
-
Java篇——多线程(生产者消费者问题)
管程法 package Thread_test; public class TestPC { public static void main(String[] args) { SynContainer container = new SynContainer(); new Productor(container).start(); new Consumer(container).start(); } } //生产者 class Produ原创 2020-07-26 19:57:17 · 121 阅读 · 0 评论 -
Java篇——多线程(死锁)
死锁避免方法 ◆产生死锁的四个必要条件: 1.互斥条件:一个资源每次只能被一个进程使用。 2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 3.不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 产生死锁例子 package Thread_test; public class DeadLock { public static void main(String[] args) {原创 2020-07-26 17:16:32 · 125 阅读 · 0 评论 -
Java篇——多线程(线程休眠)
线程休眠 sleep(时间)指定当前线程阻塞的毫秒数; sleep存在异常InterruptedException; sleep时间达到后线程进入就绪状态; sleep可以模拟网络延时,倒计时等; 每一个对象都有一个锁,sleep不会释放锁; 模拟网络延时 package Thread_test; //模拟网络延迟 :放大问题的发生性 public class ThreadSleep implements Runnable{ //票数 private int tickets = 10原创 2020-07-25 15:55:34 · 335 阅读 · 0 评论 -
Java篇——多线程(线程停止)
一、线程状态 二、线程方法 方法 说明 setPriority(int newPriority) 更改线程的优先级 static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠 void join() 等待该线程终止 static void yield 暂停当前正在执行的线程对象,并执行其他线程 void interrupt() 中断线程,不建议使用 boolean isAlive() 测试线程是否 处于活动状态 三、线原创 2020-07-25 15:13:02 · 164 阅读 · 0 评论