当前位置:主页 > 知识百科 > 生活百科 > 正文

java如何保证线程安全

发布时间:2021-11-18 00:01 来源:互联网 点击:0
并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务。而Java并发则由多线程实现的。在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中,那么java如何保证线程安全?网络安全小知识:保证类线程安全的措施:不共享线程间的变量;设置属性变量为不可变变量;每个共享的

java如何保证线程安全

并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务。而Java并发则由多线程实现的。在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中,那么java如何保证线程安全?

网络安全小知识

保证类线程安全的措施:

不共享线程间的变量;

设置属性变量为不可变变量;

每个共享的可变变量都使用一个确定的锁保护;

1.保证线程安全的思路:

通过架构设计

通过上层的架构设计和业务分析来避免并发场景。比如需要用多线程或分布式集群统计一堆用户的相关统计值,由于用户的统计值是共享数据,因此需要保证线程安全。从业务上分析出用户之间的数据并不共享,因此可以设计一个规则来保证一个用户的计算工作和数据访问只被一个线程或一台机器完成,这样从设计上避免了接下来可能的并发问题。

2.保证类无状态:

有状态会限制横向扩展能力,也可能产生并发问题。如果类是无状态的,那它永远是线程安全的。因此在设计阶段尽可能用无状态的类来满足业务需求。

3.区别原子操作和复合操作:

常见的复合操作包括check-then-act, i 等。

虽然check-then-act从表面上看很简单,但却普遍存在与我们日常的开发中,特别是在数据库存取这一块。比如我们需要在数据库里存一个客户的统计值,当统计值不存在时初始化,当存在时就去更新。如果不把这组逻辑设计为原子性的就很有可能产生出两条这个客户的统计值。

漂亮女人街提醒您:为了保障自己的安全,在网络中一定要实施网络安全防范措施与应用措施,另外多学习一些网络安全常识和网络安全技术知识也是非常重要的。


"小编整理不易,小礼物走一走,万分感谢!"
赞赏
漂亮女人街

真诚赞赏,手留余香

相关资讯

如何预防粉尘爆炸事故
粉尘爆炸的危险性非常大,一旦发生粉尘爆炸不仅会造成巨大的经济损失,还会对人民的生命安全造成严重的威胁。那么,如何预防粉尘爆炸事故那?就让漂亮女人街的小编和你一起去了解一下吧! 预防粉尘爆炸事故的措施:
急性腰扭伤的急救方法有哪些
腰部扭伤在生活中最为常见,您需要提起前掌握有些关于腰扭伤的知识,那么急性腰扭伤的急救方法有哪些呢?漂亮女人街的小编为您具体介绍。 关于急性腰扭伤的急救方法具体如下: 1、休息:静卧硬板床,腰两侧用枕头(或
日食时能看到月亮吗
日食时能看到月亮,但是并非正常情况时看到的金黄色的月亮,而是一个黑色的阴影。日食是月球绕地球转到太阳和地球中间时,如果太阳、月球、地球三者正好排成或接近一条直线,月球挡住了射到地球上去的太阳光,月球身
怎么养蜜蜂才是正确的
养蜜蜂可是谁都能养了的,现在市面上对于蜂蜜的需求很多,因此有很多人是专门养蜜蜂的职业养蜂人,他们一般都会有自己的养蜂技巧,下面来跟着小编一起看看怎么养蜜蜂正确吧! 1.少打扰,蜜蜂并没有大家想象的那么难
爬山遇到雪崩怎么办
在所有高大的山岭区域,雪崩是一种严重的灾害。那么爬山遇到雪崩怎么办呢?下面请大家来漂亮女人街了解一下吧。爬山遇到雪崩怎么办?小编总结如下:雪崩的原理十分复杂。我们在这里仅限于讨论夏季攀登中高海拔山峰时最
热水器漏水是内胆破了吗
热水器我们一定要定定期检修,看看有没有漏水之类的故障,如果有的话一定要停止使用并尽快修理,不然漏水严重的话很可能会导致爆炸并烫伤人。热水器漏水除了是内胆的问题,也有可能是阀门或者接口的问题,具体是因为