多线程的安全问题

来源:互联网 发布:爱淘宝抢红包入口 编辑:程序博客网 时间:2024/05/03 22:21
多线程的安全问题:

产生的原因:

1.线程任务中有处理到共享数据。
2.线程任务中有多条对共享数据的操作。
一个线程在操作共享数据的过程中,其他线程参与了运算,造成了数据的错误。

解决的思想:
只要保证多条操作共享数据的代码在某一段时间段,被一条线程执行,在执行期间不允许其他线程参与运算。

咋保证呢?
用到了同步代码块。

synchronized(对象){
需要被同步的代码。
}

同步在目前情况下保证了一次只能有一个线程在执行。其他线程进不来。
这就是同步锁机制。


好处:解决了多线程的安全问题。

弊端:降低效率。


有可能出现这样一种情况:
多线程安全问题出现后,加入了同步机制,没有想到,安全问题依旧!咋办?

这时肯定是同步出了问题。

只要遵守了同步的前提,就可以解决。


同步的前提:

多个线程在同步中必须使用同一个锁。这才是对多个线程的同步。


0 0
原创粉丝点击