线程
-
你的Java集合线程安全吗?快来检查一下!
简介 在多线程编程中,使用线程安全的集合是非常重要的,它可以保证多个线程同时访问同一个集合时,不会出现数据不一致的情况。 Java 中提供了多种线程安全的集合实现,本文将详细介绍这…
-
并发编程:volatile关键字,你学会了吗?
一、64位写入的原子性(Half Write) 如,对于一个long型变量的赋值和取值操作而言,在多线程场景下,线程A调用set(100),线程B调 用get(),在某些场景下,返…
-
我们一起聊聊信号量对象没有所有者
相较于互斥对象(Mutex)和临界区对象(Critical Section) ,信号量没有所有者,它们只有计数。 ReleaseSemaphore 函数将会以指定的数量增加对应信号…
-
四分钟快速入门Java线程的六种状态与流转



1.并行与并发有什么区别? 并行和并发都是指多个任务同时执行的概念,但是它们之间有着明显的区别。 并行:多个任务在同一时刻同时运行,通常需要使用多个处理器或者多核处理器来实现。例如…
-
并发编程:volatile关键字,你学会了吗?
如,对于一个long型变量的赋值和取值操作而言,在多线程场景下,线程A调用set(100),线程B调 用get(),在某些场景下,返回值可能不是100。,,因为JVM的规范并没有要…
-
四分钟快速入门Java线程的六种状态与流转



并行和并发都是指多个任务同时执行的概念,但是它们之间有着明显的区别。,,总的来说,虽然并行和并发都是多任务处理的方式,但是并行是采用多核处理器等硬件实现任务同步执行,而并发则是通过…
-
CPU调频、线程绑核、优先级控制实践



为了进一步优化App性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如…
-
聊一聊枚举一个进程中的所有线程
在 Win32 开发中,如果需要获取程序运行过程中的一些较为底层的信息,你可能需要使用到 Tool Helper 库。但我愿意称之它为 Win32 中的 “害群之马”。何解?,To…
-
我们一起聊聊并发编程:同步工具类
Semaphore也就是信号量,提供了资源数量的并发访问控制。,使用场景:大学生到自习室抢座,写作业。,假设一个主线程要等待5个 Worker 线程执行完才能退出,可以使用Coun…
-
五种判断线程池任务执行完成的方式
Thread线程是否执行完成,我们可以调用join方法然后等待线程执行完成;那在使用线程池的时候,我们如何知道线程已经执行完成了?本文就带给大家五种判断的方式:,上述代码处理逻辑在…
-
并发编程:Lock与Condition
“可重入锁”是指当一个线程调用 object.lock()获取到锁,进入临界区后,再次调用object.lock(),仍 然可以获取到该锁。显然,通常的锁都要设计成可重入的,否则就…
-
Java LockSupport与线程中断
一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop, Thread.suspend, Thread.resume 都已经被废弃了。,…