并发编程
文章平均质量分 87
chenzhibin201512115
现在只是开始 任重而道远
展开
-
并发编程:单核、多核、超线程技术、单处理器并发原因(0)
1、单处理器和到多处理器的演变 尽管单处理器仍在发展,但由于指令级并行的开发空间正在减小,再加上散热等问题限制了时钟频率的继续提高,所以单处理器发展的速度正在减缓,这最终导致了起源于在单独一个晶片设计多个内核的多处理器系统结构的出现。 多处理器系统结构允许多个处理器执行同一个程序,共享同一个程序的代码和地址空间,并利用并行技术来提高计算效率。 技术的进步不再指时钟速...原创 2019-04-23 21:39:01 · 617 阅读 · 0 评论 -
并发编程:基本认识(1)
一、并发在单核、多核处理器的认识多任务执行中,单核处理器会不断地在多个执行流程(线程)中进行上下文切换,但任意s时刻只有一个线程能够执行。多任务执行中,多核处理器的系统中,在任意时刻可以有多个执行流程(线程)能够被执行,其中可以并发执行的线程数取决于处理器的可用内核数。二、并发的作用 提高响应速度,减少等待时间,改善用户体验;三、并发的风险3.1 饥饿 :当一个线程等待...原创 2022-10-31 18:43:34 · 64 阅读 · 0 评论 -
并发编程:多核处理器在IO密集型和计算机密集型应用程序(2)
一、多核处理器并发编程要素探讨1.1 确定线程数 线程数=CPU可用核心数/(1-阻塞系数),其中阻塞系数的取值在0~1之间。IO密集型任务的阻塞系数则接近1,计算机密集型任务的阻塞系数则为0。1.2 确定任务的数量 分解问题中,每一个子任务都将并行执行,所以保持子任务的数量和线程数量一致,但这种做法忽略了待解决问题本身的特性。【比如计算素数数量的程序中,计...原创 2022-10-31 18:42:21 · 83 阅读 · 0 评论 -
并发编程:Java 内存模型(1)
一、谈谈计算机内存模型【为什么要有内存模型】 计算机在执行程序的时候,每条指令都是CPU中执行的,而执行的时候,又免不了要和数据打交道。而计算机上面的数据,是存放在主存当中的,也就是计算机物理内存。 随着CPU技术的发展,CPU的执行速度越来越快。而由于内存的技术没有太大的变化,所以从内存中读取和写入数据的过程和CPU的执行速度比起来差距越来越大,这就导致CPU每次操作内...原创 2022-10-31 18:37:18 · 56 阅读 · 0 评论