首页 > 代码库 > 线程程序问题
线程程序问题
设计 4 个线程, 其中两个线程每次对 j 增加 1, 另外两个线程对 j 每次减少 1。 写出程序。
1 package mystudy; 2 3 public class ManyThreads { 4 5 private int j; 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 ManyThreads many = new ManyThreads();10 Inc inc = many.new Inc();11 Dec dec = many.new Dec();12 for (int i = 0; i < 2; i++) {13 Thread t = new Thread(inc);14 t.start();15 t = new Thread(dec);16 t.start();17 }18 }19 20 private synchronized void inc() {21 j++;22 System.out.println(Thread.currentThread().getName() + "inc" + j);23 }24 25 private synchronized void dec() {26 j--;27 System.out.println(Thread.currentThread().getName() + "dec" + j);28 }29 30 class Inc implements Runnable {31 32 @Override33 public void run() {34 // TODO Auto-generated method stub35 for (int i = 0; i < 20; i++) {36 inc();37 }38 }39 40 }41 42 class Dec implements Runnable {43 44 @Override45 public void run() {46 // TODO Auto-generated method stub47 for (int i = 0; i < 20; i++) {48 dec();49 }50 }51 52 }53 }
第二种
线程程序问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。