• 设计四个线程,其中两个线程每次对j增加1,另外两个线程对j每次减1,写出程序


    /*

    * 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
    */

    public class ThreadTest {
    
    private int j;
    
    public static void main(String[] args) {
    ThreadTest tt = new ThreadTest();
    Inc inc = tt.new Inc();
    Dec dec = tt.new Dec();
    
    
    Thread t1 = new Thread(inc);
    Thread t2 = new Thread(dec);
    Thread t3 = new Thread(inc);
    Thread t4 = new Thread(dec);
    t1.start();
    t2.start();
    t3.start();
    t4.start();
    
    }
    
    private synchronized void inc() {
    j++;
    System.out.println(Thread.currentThread().getName()+"inc:"+j);
    }
    
    private synchronized void dec() {
    j--;
    System.out.println(Thread.currentThread().getName()+"dec:"+j);
    }
    
    class Inc implements Runnable {
    @Override
    public void run() {
    for (int i = 0; i < 10; i++) {
    inc();
    
    }
    }
    }
    
    class Dec extends Thread {
    @Override
    public void run() {
    for (int i = 0; i < 10; i++) {
    dec();
    
    }
    }
    
    }
    }

     

  • 相关阅读:
    第七章 下
    第七章 上
    第六章 下
    第六章 上
    第五章 下
    linux 系统通过安装包安装mysql 8 步骤(非MariaDB)
    热烈庆祝博客换了新皮肤
    异常处理
    栈计算逆波兰表达式
    栈计算中缀表达式
  • 原文地址:https://www.cnblogs.com/chenchengxuyuan/p/9840591.html
Copyright © 2020-2023  润新知