Java基础之多线程高级主题

本文深入探讨并发编程核心概念,包括任务定时调度、指令重排、volatile关键字、单例模式、ThreadLocal使用、可重入锁及锁分类、悲观锁与乐观锁原理、同步块作用域、原子性操作特性及Java并发工具包(JUC)应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务定时调度

掌握Timer和TimerTask
在这里插入图片描述

HappenBefore

指令重排:执行代码的顺序可能与编写代码的顺序不一致,即虚拟机优化代码顺序,则为指令重排。在硬件层面和虚拟机层面都可能存在指令重排。在指令重排时,编译器和处理器会遵守数据依赖性。不会随意更换顺序。

valatile

它保证了线程间变量的可见性。它保证了同步的数据可见,也被称为轻量级的synchronized。但是它不能保证原子性。只保证了数据的同步。现在已经很少用了。

单例模式

了解它的套路以及DoubleChecking

ThreadLocal

ThreadLocal:每个线程的本地存储区域。
JDK中常用private static修饰
ThreadLocal:常用方法get/set/initialValue。

ThreadLocal:分析上下文环境 看起点

  • 1 构造器: 哪里调用就属于哪里 主要找线程体
  • 2 run方法:就是本线程自己的。

InheritableThreadLocal<>()子类 ;继承上下文环境的数据,一样找起点。

  • 拷贝一份给子线程
可重入锁

解释

锁的分类

按是否可以沿用分为:不可重入锁和可重入锁
可重入锁又分为公平锁和不公平锁。
悲观锁:synchronized就是独占锁,即悲观锁,它会导致其他需要锁的线程挂起,直到持有锁的线程释放锁。
乐观锁:每次不加锁而是假设没有冲突去完成某项操作,如果因为冲突失败就一直重试,直到成功为止。

乐观锁的实现
同步块中如果是成员方法,则锁定this,如果是静态方法,则锁定 相应对象.class

程序的原子性指:整个程序中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。
原子性操作:原子性在一个操作是不可中断的,要么全部执行成功要么全部执行失败,有着“同生共死”的感觉。及时在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程所干扰。

java.util.concurrent(简称JUC )

内容概要:本文详细介绍了扫描单分子定位显微镜(scanSMLM)技术及其在三维超分辨体积成像中的应用。scanSMLM通过电调透镜(ETL)实现快速轴向扫描,结合4f检测系统将不同焦平面的荧光信号聚焦到固定成像面,从而实现快速、大视场的三维超分辨成像。文章不仅涵盖了系统硬件的设计与实现,还提供了详细的软件代码实现,包括ETL控制、3D样本模拟、体积扫描、单分子定位、3D重建和分子聚类分析等功能。此外,文章还比较了循环扫描与常规扫描模式,展示了前者在光漂白效应上的优势,并通过荧光珠校准、肌动蛋白丝、线粒体网络和流感A病毒血凝素(HA)蛋白聚类的三维成像实验,验证了系统的性能和应用潜力。最后,文章深入探讨了HA蛋白聚类与病毒感染的关系,模拟了24小时内HA聚类的动态变化,提供了从分子到细胞尺度的多尺度分析能力。 适合人群:具备生物学、物理学或工程学背景,对超分辨显微成像技术感兴趣的科研人员,尤其是从事细胞生物学、病毒学或光学成像研究的科学家和技术人员。 使用场景及目标:①理解和掌握scanSMLM技术的工作原理及其在三维超分辨成像中的应用;②学习如何通过Python代码实现完整的scanSMLM系统,包括硬件控制、图像采集、3D重建和数据分析;③应用于单分子水平研究细胞内结构和动态过程,如病毒入侵机制、蛋白质聚类等。 其他说明:本文提供的代码不仅实现了scanSMLM系统的完整工作流程,还涵盖了多种超分辨成像技术的模拟和比较,如STED、GSDIM等。此外,文章还强调了系统在硬件改动小、成像速度快等方面的优势,为研究人员提供了从理论到实践的全面指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值