线程同步、线程同步跟Runnable的区别
2015-10-31 15:02
253 查看
线程同步:创建多条线程,要一条线程执行完run()方法,下一个线程才能进入run()方法,线程同步就是为了避免同一条件下不允许多条线程同时进入而制造出来的方法。
runnable跟同步的区别:runnable在同一条件下可以同时进入多条线程,而同步不行。
例子,售票台有ticket=100张票,每卖一张run(){ticket--;},当买到只剩一张时,这时线程在未执行ticket--;之前延迟,如果用runnable,就有可能其他线程也进入run(),造成卖出负数张票,而用同步一条线程执行完run()方法,下一个线程才能进入run()方法,就不会出现这种情况。
runnable跟同步的区别:runnable在同一条件下可以同时进入多条线程,而同步不行。
例子,售票台有ticket=100张票,每卖一张run(){ticket--;},当买到只剩一张时,这时线程在未执行ticket--;之前延迟,如果用runnable,就有可能其他线程也进入run(),造成卖出负数张票,而用同步一条线程执行完run()方法,下一个线程才能进入run()方法,就不会出现这种情况。
相关文章推荐
- 新浪微博项目---首页技术点三.上拉刷新,下拉加载的实现(使用ios自带的小菊花实现)
- LightOJ 1005
- java多线程
- cuda
- APP间的调用
- 自定义异常的用法,抛出异常后,代码仍然继续执行。
- 进程、单线程和多线程
- 安全参透之旅第3章 Webshag工具
- 第四章家庭作业4.45
- java 调用webservice 报 No service named XXXXHttpSoap11Endpoint is availab异常
- Canonical标签解决重复内容收录
- 新应用知识整理-应用中调用Google地图并实现定位
- java中给出一个不多于5位数的正整数,要求,第一是求出它是第多少位的,逆序打印出各位数字
- 用Notepad++替换记事本程序
- Android网络开发之Volley--Volley基本用法JsonObjectReques(二)
- jsp和servlet中实现页面跳转的方式实例总结
- 移动端着陆页15条优化策略
- jdk目录结构
- FZU 1056 扫雷游戏
- stdout&stderr引发的思考