当初觉得线程安全是个很大的概念,其实线程同步就是为了确保线程安全。
当两个线程共享一个数据的时候,当两者同时写这个数据的时候,就会出现写权力的争夺问题。
所以为了避免两个线程同时操作一个数据的情况,引入了线程同步的概念。
两个线程同时操作一个数据的情况,也就是线程安全的问题。
清楚了上述概念,再去深入线程同步,思路就清晰了。线程同步的方法请查阅其他大神的文章。
线程安全,也可能不止上述一个问题,以后我要是再碰到了,再来这篇文章补充。
---------------------------------------------------------------------------------
同步和异步:在等待某件事情完成的时候,
1、事情完成不会主动告知你,需要你自己去询问才知道结果,这个是同步
2、事情完成,主动告知你,这个是异步
同步和异步是得知事件结果的方式不同来定义的。
阻塞和非阻塞:在等待某件事情完成的时候
1、等待的过程,我啥事都不干就等着这件事完成,这个是阻塞
2、等待的过程,我可以顺带干点别的事,这个是非阻塞
阻塞和非阻塞跟这件事的结果没关系,跟等待的过程有关系。
线程a 让线程b 干一件事情c
a对b说:“你把c干了,干完了告诉我,我去干点别的事情”
这个时候就是异步非阻塞模式
a对b说:“你把c干了”。a啥事不干就盯着b干c,一会一问 干完了没有?,直到b干完了
这个是同步阻塞
a对b说:“你把c干了”。然后a去干别的事情,一会一问 干完了没有?直到b干完了
这个是异步阻塞
-----------------------------------------------------------------------------------------------------