关于线程安全的一些自己的见解。

Posted Bruce小院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于线程安全的一些自己的见解。相关的知识,希望对你有一定的参考价值。

对于线程安全问题,我们知道在多线程中,线程的安全问题是必须要考虑的问题,但是对于产生线程不安全的原因,我们在大学的时候学习数据结构的时候我们知道线程的安全是对同一变量进行修改。还是先上百度的解释:

线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。
线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据
我的理解是这样的。对于线程的安全中问题 其实是很简单的,你比如说你跟另外一个小伙伴在网上都要去对你们非常关心的一个东西去做修改,加入你们两个是同时修改的这个值,那你想这个值最终保留下来的是你修改的还是你的小伙伴修改的呢
这是比较直白的一种解释方式,那么在这种情况下如果要修改的这个值是线程安全的,也就是你们两个不能同时去修改这个值,你想想,如果是你在修改的时候,你的小伙伴就要等着你修改完成之后才可以修改,这样是不是就最终是你们想要的修改结果了呢。
患有在我们的计算机中,我们都知道计算机中是以一个个的进程来存在的,而且每个进程中都还有很多的线程,那么这些线程要同时去操作某个计算机中的变量的时候,这个变量如果不是线程安全的华那你是无法预料
这个变量最终修改后的值的。
那么在我们的实际开发中,用我们研发副总监的话就是我们能不使用多线程涉及到线程安全的代码就不用,如果真的要用最好使用jdk中自带的线程安全的类。尽量少的去用sychronized这些关键字。当然这里你换药
知道jdk中自带的那些类是线程安全的???今天先写道这里,。明天晚上继续对线程安全进行侃侃而谈。下班回家了要。。

以上是关于关于线程安全的一些自己的见解。的主要内容,如果未能解决你的问题,请参考以下文章

(更新中)谈谈个人对java并发编程中(管程模型,死锁,线程生命周期等问题) 见解

关于Jvm的见解

关于单例模式这种比上面12都好一些,既实现了线程安全,又避免了同步带来的性能影响。

关于见识

关于数据库一致性以及优化服务器的一些见解

关于Python中yield的一些个人见解