同步的原理:
其实就是使用锁机制。
将多条操作共享资源的代码进行同步的封装,并加了锁。
只有获取到锁线程才可以进入到同步中,这时其他线程即使获取到执行权。
因为没有了锁,它们都进不来。这样就保证了数据的安全。解决了线程安全问题。
什么代码需要定义到同步中呢?
只有操作了共享数据的多条代码才放到同步中。
同步的好处:解决了线程安全问题。
同步的弊端:对资源是一种耗费,相对降低效率。
同步的前提:
1,必须是两个或者两个以上的线程才需要同步。
2,多个线程必须使用同一个锁,才可以成为这些线程被同步了。
解决思想:在一个时间段,对于多条执行共享资源的语句,必须由一个线程执行完。
在执行过程中,其他线程不可以参与。
总结:造成安全隐患的因素
1,多个线程在操作共享资源。
2,有多条操作共享资源的代码。 |