与其他编程语言一样在并发环境下如不对多个goroutine(线程)访问或修改的共享资源元素的进行控制,让进入临界区的对象互斥。就可能会出现数据异常情况; 一个非线程安全对象如下,如不对Id的访问进行控制,多个goroutine进行更新Id字段是就会出现数据不一致的情况,如下示例: type Conf ...
分类:
其他好文 时间:
2021-06-19 19:07:27
阅读次数:
0
精简后的知识点 第一章 操作系统引论 分时系统的基本特征:同时性、独立性、交互性、及时性 (没有实时性) 分时系统的设计目标:对用户的请求及时响应,并在可能条件下尽量提高系统资源的利用率 实时操作系统追求的目标:快速响应 现代操作系统的两个基本特征是程序的并发执行和资源共享 在操作系统中的异步性主要 ...
分类:
其他好文 时间:
2021-06-19 18:46:39
阅读次数:
0
现代操作系统都使用分页机制来管理内存,这使得每个程序都拥有自己的地址空间。每当程序使用虚拟地址进行读写时,都必须转换为实际的物理地址,才能真正在内存条上定位数据。如下图所示: 内存地址的转换是通过一种叫做页表(Page Table)的机制来完成的,这是本节要讲解的重点,即: 页表是什么?为什么要采用 ...
分类:
编程语言 时间:
2021-06-18 20:12:38
阅读次数:
0
通过页表完成虚拟地址和物理地址的映射时,要经过多次转换,还要进行计算,如果由操作系统来完成这项工作,那将会成倍降低程序的性能,得不偿失,所以这种方式是不现实的。 MMU 在CPU内部,有一个部件叫做MMU(Memory Management Unit,内存管理单元),由它来负责将虚拟地址映射为物理地 ...
分类:
编程语言 时间:
2021-06-18 20:12:19
阅读次数:
0
connect()第五个参数: Qt::AutoConnection:默认值。如果信号的接收者和发送者在同一个线程中,则使用Qt::DirectConnection,否则使用Qt::QueuedConnection,在信号发射时自动确定关联方式。 Qt::DirectConnection:信号发出后 ...
分类:
其他好文 时间:
2021-06-18 20:11:15
阅读次数:
0
什么是进程? 程序:一个未运行的二进制文件,叫做程序。如Windows下的PE文件 进程:二进制文件运行后,文件本身以及用到的资源称为进程,他是操作系统分配资源的基本单元。 多任务:不止可以通过线程完成多任务,还可以通过进程完成多任务。 使用Process实现多进程 from multiproces ...
分类:
编程语言 时间:
2021-06-18 20:02:02
阅读次数:
0
CountDownLatch 是一个同步工具类,允许一个线程或者多个线程等待其他线程完成操作,再执行。 CountDownLatch(int count) 构造一个用给定计数初始化的 CountDownLatch。 // 使当前线程在锁存器倒计数至零之前一直等待,除非线程被中断。 void awai ...
分类:
其他好文 时间:
2021-06-18 19:28:45
阅读次数:
0
1.控制并发线程数的Semaphore Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,保证合理的使用公共资源。 线程可以通过acquire()方法来获取信号量的许可,当信号量中没有可用的许可的时候,线程阻塞,直到有可用的许可为止。线程可以通过release() ...
分类:
其他好文 时间:
2021-06-18 19:20:53
阅读次数:
0
1.隔离 使用namespace技术,实现隔离 namespace 实际上修改了应用进程看待整个计算机的视图,即它的视线被操作系统做了限制,只能看到某些指定内容 。对宿主机来说,这些被“隔离”的进程和其他进程没有啥太大差别 2.说明 用户运行在容器里的业务进程,和宿主机上其他进程一样,都是由宿主机操 ...
分类:
其他好文 时间:
2021-06-18 18:55:44
阅读次数:
0
SLF4J 提供了MDC ( Mapped Diagnostic Contexts )功能 DMC简单的可以理解为,日志增强 如果项目日志比较多,项目中多线程的应用比较多,那么多个线程交叉打印日志,日志文件的内容是混乱的。 DMC可以通过AOP/Filter/Interceptor等方式,在线程中增 ...
分类:
其他好文 时间:
2021-06-18 18:52:20
阅读次数:
0