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

来源:互联网 发布:最优化问题求解 编辑:程序博客网 时间:2024/05/20 01:37
package cn.thread.test;/* * 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 */public class ThreadTest1 {private int j;public static void main(String[] args) {ThreadTest1 tt = new ThreadTest1();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 {@Overridepublic void run() {for (int i = 0; i < 100; i++) {inc();}}}class Dec extends Thread {@Overridepublic void run() {for (int i = 0; i < 100; i++) {dec();}}}}

0 0
原创粉丝点击