Java线程的同步与死锁

Java线程的同步与死锁

ID:46579820

大小:168.23 KB

页数:9页

时间:2019-11-25

Java线程的同步与死锁_第1页
Java线程的同步与死锁_第2页
Java线程的同步与死锁_第3页
Java线程的同步与死锁_第4页
Java线程的同步与死锁_第5页
资源描述:

《Java线程的同步与死锁》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java线程的同步与死锁/*java中线程并发将共同抢CPU资源,哪个抢到就运行,往往会有冲突,为了避免,引入线程等待sleep()还有可以使用join方法,当前线程等待调用该方法的线程结束后,再恢复执行,见下面例子,A执行时,B.join后,A等B执行完后执行当然还有可以setPriority,getPriority设置查看优先级*/classJoinThreadimplementsRunnable{ThreadA,B;String[]content={"天气预报","多云转阴","有小雨","最高温度15C","最低温度5C"};

2、JoinThread(){A=newThread(this);B=newThread(this);B.setName("预报员");}publicvoidrun(){if(Thread.currentThread()==A){System.out.println("我等"+B.getName()+"说完话再说");try{B.join();//线程A开始等待B结束}catch(InterruptedExceptione){}System.out.println("我开始说话:'我知道了,谢谢'");}elseif(Thread

3、.currentThread()==B){System.out.println(B.getName()+"说:");for(inti=0;i

4、oinThread();a.A.start();a.B.start();}}运行结果:我等预报员说完话再说预报员说:天气预报,多云转阴,有小雨,最高温度15C,最低温度5C我开始说话:'我知道了,谢谢'(long1vslongpo转载请注明出处:http://blog.163.com/lfw2565295@126)/*java应用程序的多个线程共享同一进程的数据资源,多个用户线程在并发运行过程中可能会同时访问具有敏感性的内容,或同时访问同一文件(变量)且一个线程需要修改这个文件(变量)时,另一个也要修改,比如售票系统,同时出票。线程的

5、同步,实现对共享资源的一致性维护,保证一个进程中多个线程的协调工作,所以线程的同步很重要。java在共享内存变量方法前加synchronized修饰符,某个线程调用时,在结束之前,其他线程不能运行该方法,只能等待它结束,其它的等待它结束释放该同步方法返回之前,已处于同步方法引起的堵塞氛围要一直等到堵塞的原因消除(同步方法返回),才再排队等待使用这个同步方法。[modifier]synchronizedreturnTypemethodName([parameterList]){}[modifier]returnTypemethodNam

6、e([parameterList])如:synchronized(this){}*/classBlankSaving{privatestaticintmoney=8000;publicvoidadd(inti){money=money+i;System.out.println("存入"+i+"余额是"+money);}publicvoidget(inti){if(i>money){System.out.println("余额不足!");}else{money=money-i;System.out.println("取走"+i+"余额是

7、"+money);}}publicintshowMoney(){returnmoney;}}classOperaterimplementsRunnable{Stringname;BlankSavingbs;publicOperater(BlankSavingb,Strings){name=s;bs=b;}publicsynchronizedstaticvoidoper(Stringname,BlankSavingbs){//如果去掉synchronized可能会出错if(name.equals("husband")){try{for(

8、inti=0;i<5;i++){Thread.currentThread().sleep((long)(Math.random()*300));System.out.print("husband");bs.add(100

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。