并发编程
文章平均质量分 83
散落的流沙
立志要如山,行道要如水。不如山,不能坚定,不如水,不能曲达。
展开
-
volatile应用详解
在多线程并发编程中,经常会用到synchronized和volatile修饰符,volatile可以理解为轻量级的synchronized,它在多处理器开发中保证了共享变量的可见性。可见性的意思时当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。如果volatile修饰符使用恰当的话,它比synchronized的使用和执行成本更低,它不会引起线程上下文的切换和调度,接下来,本文将深入分析volatile的使用方法。volatile定义:Java编程语言允许线程访问共享变量,为了确保..原创 2022-01-22 15:45:00 · 297 阅读 · 0 评论 -
并发编程的问题
并发编程的目的是为了让程序运行的更快,但并不是启动更多的线程就能让程序最大限度的并发执行。在进行并发编程时,如果通过多线程执行任务让程序更快的运行,会面临许多的问题,比如上下文切换、死锁等,以及受限于硬件和软件的资源问题。本文主要讨论以下上下文切换问题和死锁问题。上下文切换问题:单核处理器上如果要支持多线程执行代码,CPU会通过给每个线程分配CPU时间片来实现。时间片是CPU分配给每个线程的时间,因为时间片非常短,一般都是几十毫秒(ms),所以CPU通过不断的切换线程的执行,让我门感觉多个线程是..原创 2022-01-22 12:37:06 · 507 阅读 · 0 评论