个人网站设计论文摘要中,哪些是网站建设过程中的?
摘要:响应网站建设,个人网站设计论文摘要关键词,微信版本的wordpress,seo应用领域文章目录 1. 线程通信2. Object类中的wait和notify方法实现等待和唤醒3. Condition接口中的await和signal方法实现等
响应网站建设,个人网站设计论文摘要关键词,微信版本的wordpress,seo应用领域文章目录 1. 线程通信2. Object类中的wait和notify方法实现等待和唤醒3. Condition接口中的await和signal方法实现等待和唤醒4. LockSupport实现等待和唤醒4.1 优点 1. 线程通信
多个线程在处理同一个资源#xff0c;但是处理的动作#xff08;线程的任务#xff09;却不相… 文章目录 1. 线程通信2. Object类中的wait和notify方法实现等待和唤醒3. Condition接口中的await和signal方法实现等待和唤醒4. LockSupport实现等待和唤醒4.1 优点 1. 线程通信
多个线程在处理同一个资源但是处理的动作线程的任务却不相同于是这些线程之间就存在通信问题称为线程间通信。
比如生产者消费者问题。
当多个线程间存在通信问题时我们希望它们能有规律地执行因此就需要一些协调手段其中等待唤醒机制就是协调线程间通信的一种有效手段。
2. Object类中的wait和notify方法实现等待和唤醒
wait和notify方法必须在同步块或者方法里面使用且成对出现必须先wait后notify才OK
public static void main(String[] args) {Object monitor new Object();new Thread(() - {synchronized (monitor) {System.out.println(线程1执行);try {monitor.wait();} catch (InterruptedException e) {throw new RuntimeException(e);}}}).start();try {TimeUnit.SECONDS.sleep(1);} catch (Exception e) {e.printStackTrace();}new Thread(() - {System.out.println(线程2执行);synchronized (monitor) {monitor.notify();}}).start();
}3. Condition接口中的await和signal方法实现等待和唤醒
Condition中的线程等待和唤醒方法需要先获取锁一定要先await后signal
public static void main(String[] args) {Lock lock new ReentrantLock();Condition condition lock.newCondition();new Thread(() - {System.out.println(线程1执行);lock.lock();try{condition.await();System.out.println(线程1被唤醒);} catch (Exception e) {e.printStackTrace();} finally {lock.unlock();}}).start();try {TimeUnit.SECONDS.sleep(1);} catch (Exception e) {e.printStackTrace();}new Thread(() - {System.out.println(线程2执行);lock.lock();try{condition.signal();} catch (Exception e) {e.printStackTrace();} finally {lock.unlock();}}).start();
}4. LockSupport实现等待和唤醒
LockSupport类使用了一种名为Permit许可的概念来做到阻塞和唤醒线程的功能每个线程都有一个permit。
