Java的线程同步 & 并发操作

来源:互联网 发布:ant 执行java 编辑:程序博客网 时间:2024/05/21 07:14

并发:CUP在同一时间或同一时段内只能执行一件事情,而不同时件执行时,切换得十分快速,因为CUP的频率非常高,切换的速度人根本感受不出来。


同步:同步是多个任务进行时,按照一定的规律进行着。


线程并发:同一时间间隔中,有多个线程在同时执行,就是线程的并发。线程可能互相有逻辑影响,所以要进行控制,进行控制和协调就是线程的同步。


系统采用多线程并发来提高性能和吞吐量,所以就会引入线程同步问题。


控制并发可以使用sleep方法实现同步,需要顺序的话按照join来实现同步,还有wait,notify方法实现线程的同步。


Java中当多线程访问共享资源的时候,可以在方法名前面加入synchronized来处理。

synchronized 像一把锁一样,有申请着申请时,若该资源没有被占用,则给申请者,若被占用了,则只可以申请不可以使用,该资源被使用完之后会被释放,这个时候才可以给其他申请的使用。


并发控制:为了多线程操作带来资源读写问题,若不控制可能会出现:死锁,读脏数据,不可重复读,丢失更新等异常,主要通过加锁来控制。
0 0