线程--同步与死锁
来源:互联网 发布:自学云计算 编辑:程序博客网 时间:2024/05/22 17:37
一,本章目标
①了解线程同步的作用
②了解同步代码块及同步方法的作用
③了解死锁的产生
二,具体内容
说明:在多线程的开发中,同步与死锁的概念是非常重要的,一定要掌握以下几点:
①那里需要绒布
②如何实现同步,代码了解即可
③实现同步之后有什么副作用
问题引出:以卖火车票为例,如果想买火车票,可以去火车站购买或者去各个售票点,但是火车的票数是固定的,如果把各个售票点理解为各个线程的话,那么火车票应该是各个线程所共享的资源。
问题出来了,多个线程之间加入延迟操作,卖出的票数出现负数了
使用同步解决资源共享的问题,可以使用同步代码块或者同步方法来完成。
同步代码块
四级不同的代码块:
①普通代码块:直接定义在方法之中
②构造快:直接定义在类中,优先于构造方法执行,重复调用
③静态块:使用static关键字声明,优先于构造快,只执行一次
④同步代码块:使用synchronized关键字声明
同步的时候必须指明对象,一般情况下使用当前对象,用this关键字表示。
加入同步代码块之后,虽然解决了资源共享问题,但是程序速度下降,比异步操作要慢
同步方法:
2.2死锁
资源共享的时候需要同步操作。
程序中过多的同步会产生死锁。
死锁表示在一般情况下表示就是互相等待,是程序运行的时候出现的一种问题。
三,总结
多个线程在访问同一资源的时候需要使用同步
同步使用synchronized关键字完成,分为同步代码块和同步方法
阅读全文
0 0
- 线程同步与死锁
- 线程同步与死锁
- 线程同步与死锁
- 线程--同步与死锁
- JAVA线程同步与死锁
- 线程的同步与死锁
- java27.线程------同步与死锁
- 线程同步对象的应用与死锁
- Java线程同步与死锁认识
- Java线程的同步与死锁
- Java 线程同步与死锁 学习笔记
- 程序、进程、线程、同步与死锁
- Java多线程 线程同步与死锁
- 线程——同步与死锁
- Java线程的同步与死锁
- 线程的同步与死锁及解决办法
- 线程同步 线程死锁
- 线程同步/线程死锁
- 如果估算工数
- 进程与线程的一个简单解释
- VS2013配置64位ZBar、OpenCV
- 1005. 继续(3n+1)猜想 (25)--PAT乙级
- 限定符const
- 线程--同步与死锁
- nodejs顶层路由设计
- SpringBoot 使用Mybatis入门
- 关于Gensim的初次见面 和 Doc2vec 的模型训练
- $ionicActionSheet安卓样式问题
- LightOJ-1013-Love Calculator [LCS][DP]
- viewpager+fragmentadapter实现微信界面
- 最常用的15大Eclipse开发快捷键技巧-常用Eclipse插件在线安装地址
- Socket编程