Java的线程同步 & 并发操作
2016-07-21 14:45
190 查看
并发:CUP在同一时间或同一时段内只能执行一件事情,而不同时件执行时,切换得十分快速,因为CUP的频率非常高,切换的速度人根本感受不出来。
同步:同步是多个任务进行时,按照一定的规律进行着。
线程并发:同一时间间隔中,有多个线程在同时执行,就是线程的并发。线程可能互相有逻辑影响,所以要进行控制,进行控制和协调就是线程的同步。
系统采用多线程并发来提高性能和吞吐量,所以就会引入线程同步问题。
控制并发可以使用sleep方法实现同步,需要顺序的话按照join来实现同步,还有wait,notify方法实现线程的同步。
a300
Java中当多线程访问共享资源的时候,可以在方法名前面加入synchronized来处理。
synchronized 像一把锁一样,有申请着申请时,若该资源没有被占用,则给申请者,若被占用了,则只可以申请不可以使用,该资源被使用完之后会被释放,这个时候才可以给其他申请的使用。
并发控制:为了多线程操作带来资源读写问题,若不控制可能会出现:死锁,读脏数据,不可重复读,丢失更新等异常,主要通过加锁来控制。
同步:同步是多个任务进行时,按照一定的规律进行着。
线程并发:同一时间间隔中,有多个线程在同时执行,就是线程的并发。线程可能互相有逻辑影响,所以要进行控制,进行控制和协调就是线程的同步。
系统采用多线程并发来提高性能和吞吐量,所以就会引入线程同步问题。
控制并发可以使用sleep方法实现同步,需要顺序的话按照join来实现同步,还有wait,notify方法实现线程的同步。
a300
Java中当多线程访问共享资源的时候,可以在方法名前面加入synchronized来处理。
synchronized 像一把锁一样,有申请着申请时,若该资源没有被占用,则给申请者,若被占用了,则只可以申请不可以使用,该资源被使用完之后会被释放,这个时候才可以给其他申请的使用。
并发控制:为了多线程操作带来资源读写问题,若不控制可能会出现:死锁,读脏数据,不可重复读,丢失更新等异常,主要通过加锁来控制。
相关文章推荐
- Java虚拟机 一览表
- java之反射
- Java的I/O
- Java学习之路:不走弯路,就是捷径
- 正则表达式全部符号解释
- 详解Java类的生命周期
- SpringMVC中向服务器传递时间参数时出现的问题
- web project导入 eclipse时变成了java project
- Thinking in Java之 继承与初始化
- Eclipse 快捷注释
- 手把手带你走进MVP +Dagger2 + DataBinding+ Rxjava+Retrofit 的世界
- java中获取路径的方式
- 手把手带你走进MVP +Dagger2 + DataBinding+ Rxjava+Retrofit 的世界
- 类型信息
- java读取Excel表格数据
- Exception in thread “main” com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: empty String
- Springmvc 4.x利用@ResponseBody返回Json数据
- javaEE:day6-requset和response用法、表单参数的接受、文件手动上传(简易版)
- Java进程CPU使用率高排查
- Sublime Text3 解决编辑java保存后在cmd下运行中文显示乱码的问题