码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-08-04 18:19:29      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:ble   oid   blog   span   current   start   rgs   code   logs   

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

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。写出程序。

标签:ble   oid   blog   span   current   start   rgs   code   logs   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!