- public class IncDecThread {
-
- private int j=10;
-
- /*
- * 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
- * 两个问题:
- * 1、线程同步--synchronized
- * 2、线程之间如何共享同一个j变量--内部类
- */
- public static void main(String[] args) {
- IncDecThread incDec=new IncDecThread();
- Inc inc=incDec.new Inc();
- Dec dec=incDec.new Dec();
- for(int i=0;i<2;i++){
- Thread thread=new Thread(inc);
- thread.start();
- thread=new Thread(dec);
- thread.start();
- }
- }
-
- 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);
- }
-
- class Inc implements Runnable{
- public void run(){
- for(int i=0;i<20;i++){
- inc();
- }
- }
- }
- class Dec implements Runnable{
- public void run(){
- for(int i=0;i<20;i++){
- dec();
- }
- }
- }
- }
用java写一个多线程程序,其中两个对一个变量加1,另两个对一个变量减1
最新推荐文章于 2024-07-29 03:30:57 发布