zoukankan      html  css  js  c++  java
  • 多线程下,两个线程交替打印0 -100,使用wait()和notify()

    多线程下,两个线程交替打印0 -100,使用wait()和notify()

     1 public class ThreadTest{
     2     private static final Object lock = new Object();
     3 
     4    static  class ThreadA extends Thread{
     5         @Override
     6         public void run() {
     7             for (int i = 0; i < 100; i = i+2) {
     8                synchronized (lock){
     9                    lock.notify();
    10                    System.out.println(Thread.currentThread().getName()+" "+i);
    11                    try {
    12                        lock.wait();
    13                    } catch (InterruptedException e) {
    14                        e.printStackTrace();
    15                    }
    16 
    17                }
    18             }
    19         }
    20 
    21     }
    22 
    23     static  class ThreadB extends Thread{
    24         @Override
    25         public void run() {
    26             for (int i = 1; i < 100; i = i+2) {
    27                 synchronized (lock){
    28                     lock.notify();
    29                     System.out.println(Thread.currentThread().getName()+" "+i);
    30                     try {
    31                         lock.wait();
    32                     } catch (InterruptedException e) {
    33                         e.printStackTrace();
    34                     }
    35 
    36                 }
    37             }
    38         }
    39 
    40     }
    41     
    42     public static void main(String[] args) {
    43         new ThreadA().start();
    44         new ThreadB().start();
    45     }
    46 }

    运行结果:

  • 相关阅读:
    关于SuperSocket启动失败
    ffmpeg 常用命令
    Url中有中文参数需要编码解码
    单例模式
    c# 文件夹重命名
    一个既有winform又有webapi 的例子
    数据库查询字段的结构和长度
    Jquery 展开收起
    ajax即时修改
    EFCore 迁移
  • 原文地址:https://www.cnblogs.com/linliquan/p/11585747.html
Copyright © 2011-2022 走看看