首页 > 编程语言 > 详细

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

时间:2017-08-04 18:06:24      阅读:201      评论:0      收藏:0      [点我收藏+]

先设计一个类处理加减这一行为:

public class ManyThread {

    private int j = 0;
    
    public synchronized void inc(){
        j++;
        System.out.println(Thread.currentThread().getName() + "inc" + j);
    }
    
    public synchronized void dec(){
        j--;
        System.out.println(Thread.currentThread().getName() + "dec" + j);
    }
}

然后进行调用

public class MyTest {

    private ManyThread manyThread = new ManyThread();
    
    public static void main(String[] args) {
        
        MyTest myTest = new MyTest();
        myTest.test();

    }

    public void test() {
        for(int i = 0; i < 2;i++){
            new Thread(new Runnable() {
                
                @Override
                public void run() {
                    for (int i = 0;i < 20;i++){
                        manyThread.inc();
                    }
                    
                }
            }).start();
            new Thread(new Runnable(){
                
                @Override
                public void run() {
                    for(int i = 0;i < 20;i++){
                        manyThread.dec();
                    }
                }
            }).start();
        }
    }
}

 

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

原文:http://www.cnblogs.com/lingluo2017/p/7286356.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!