设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1
原创
©著作权归作者所有:来自51CTO博客作者leijun_zhongguo的原创作品,谢绝转载,否则将追究法律责任
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1{private int j; public static void main(String args[]){ ThreadTest1 tt=new ThreadTest1(); Inc inc=tt.new Inc(); Dec dec=tt.new Dec(); for(int i=0;i<2;i++){ Thread t=new Thread(inc); t.start(); t=new Thread(dec); t.start(); } } private synchronized void inc(){ j++; System.out.println(Thread.currentThread().getName()+"-inc:"+j); }
private synchronized void dec(){ j--; System.out.println(Thread.currentThread().getName()+"-dec:"+j); }
class Inc implements Runnable{ public void run(){ for(int i=0;i<100;i++){ inc(); } } } class Dec implements Runnable{public void run(){ for(int i=0;i<100;i++){ dec(); } } } }
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
JAVA 两个类同时实现同一个接口
JAVA 两个类同时实现同一个接口
System 默认方法 静态方法 -
java 两个线程并发 java两个线程通信
目录一、线程同步的必要性二、 实现线程同步三. 出现的问题 1.有票未抢 2.一票多次抢 3.在现实中杜绝出现四. 同步方法 五. 同步代码块六、线程间通信的必要性七、实现线程间通信一、线程同步
java 两个线程并发 jvm java 开发语言 同步方法