首页 > 代码库 > 设计 4 个线程,其中两个线程每次对 j 增加 1,另外两个线程对 j 每次减少 1。写出程序。
设计 4 个线程,其中两个线程每次对 j 增加 1,另外两个线程对 j 每次减少 1。写出程序。
先设计一个类处理加减这一行为:
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。写出程序。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。