Java——》如何保证线程的安全性

推荐链接:

总结------》【Java】

总结------》【Mysql】

总结------》【Redis】

总结------》【Kafka】

总结------》【Spring】

总结------》【SpringBoot】

总结------》【MyBatis、MyBatis-Plus】

总结------》【Linux】

总结------》【MongoDB】

总结------》【Elasticsearch】

Java------》如何保证线程的安全性

Q:如果存在临界(共享)资源,如何保证线程的安全性?

A:加锁,怎么做?不加锁,怎么做?

一、加锁

1、悲观锁

synchronizedLock(ReentrantLock,ReadWriteLock)

2、乐观锁

CAS

Q:CAS真的无锁吗?

A:

Java层面:没锁,基于Unsafe实现

C++层面:有锁,lock cmpexchg

二、不加锁

  1. ThreadLocal:让多个线程将共享资源copy到本地,没有多线程操作共享资源的问题
  2. volatile:只要不包含并发对共享数据进行运算,基本没问题。
相关推荐
带娃的IT创业者6 分钟前
突破算力与安全的边界:深度解析 Mythos AI 的“受信发布”机制与技术影响
人工智能·安全·大语言模型·ai安全·mythos ai·受信发布·ai监管
落寞的星星35 分钟前
引言:加密不等于安全
安全
自信的未来43 分钟前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
Brookty44 分钟前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
SRET1 小时前
Mineradio 沙盒隔离安装完全指南 | 一键安全运行 Electron 应用!!!
javascript·经验分享·安全·electron·aigc·音视频·ai编程
全栈前端老曹1 小时前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
星河耀银海1 小时前
大模型安全:对抗攻击与防御方法
人工智能·安全·大模型
怕孤单的草丛1 小时前
缓存管理面临的主要问题
java·数据库·缓存
广东帝工智能安防1 小时前
智能设防精准预警,筑牢内河桥梁通航安全防护网
安全·桥梁防撞·智慧航道·防撞预警系统