文章转载自 "聊聊并发(五)——原子操作的实现原理" 原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter处理器和Java里是如何实现原子 ...
分类:
其他好文 时间:
2018-03-03 00:40:27
阅读次数:
238
下面是Java线程相关的热门面试题,你可以用它来好好准备面试。 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程 ...
分类:
编程语言 时间:
2018-02-24 13:02:45
阅读次数:
225
1. Linux中主要有哪几种内核锁? Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡;伴随着从非抢占内核到抢占内核的过度。Linux的锁机制越来越有效,也越来越复杂。 ...
分类:
系统相关 时间:
2018-02-23 12:04:14
阅读次数:
195
1.volatile简介 先看一段代码,启动一个线程,由于isOver = false,所以该线程中run方法的while是死循环。企图在main方法中更改isOver的值去终止线程,但是实时上该程序的线程并没有被终止,始终陷入死循环中,线程并没有终止退出。 首先我们对volatile的基本认知是“ ...
分类:
其他好文 时间:
2018-02-22 19:36:02
阅读次数:
133
1、协程的概念 协程,又称微线程,纤程。英文名Coroutine。 线程是系统级别的它们由操作系统调度,而协程则是程序级别的由程序根据需要自己调度。在一个线程中会有很多函数,我们把这些函数称为子程序,在子程序执行过程中可以中断去执行别的子程序,而别的子程序也可以中断回来继续执行之前的子程序,这个过程 ...
分类:
编程语言 时间:
2018-02-22 13:37:21
阅读次数:
248
计算机系统体系结构: 单处理器的计算机系统,它只有一个general purpose 的处理器,它有一个CPU来执行通用的指令集, 另外,里面也包括一些专用的控制器(处理器),比如控制硬盘、网卡、键盘的等,这些控制器通常由操作系统管理; 多处理器的计算机系统,可以分为非对称型(asymmetric ... ...
分类:
其他好文 时间:
2018-02-06 01:09:12
阅读次数:
161
在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销 ...
分类:
其他好文 时间:
2017-12-30 15:55:50
阅读次数:
107
121,什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。 122,线程和进程有什么区别? 线程 ...
分类:
编程语言 时间:
2017-12-27 18:01:20
阅读次数:
164
进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并 ...
分类:
编程语言 时间:
2017-12-23 17:09:27
阅读次数:
149
53道Java线程面试题 下面是Java线程相关的热门面试题,你可以用它来好好准备面试。 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要 ...
分类:
编程语言 时间:
2017-12-16 17:13:32
阅读次数:
237