教材内容总结 CPU调度 CPU调度 (CPU scheduling):多个进程同时处于内存,当一个进程必须等待时,OS从该进程拿走CPU使用权交给其他进程。 进程执行从一个IO区间(I/O burst)开始,随后进入一个CPU区间(CPU burst)并反复,进程循环地在CPU执行和I/O等待两个 ...
分类:
其他好文 时间:
2019-11-30 21:21:36
阅读次数:
133
一个应用程序在运行时就是一个进程,一个进程默认只有一个主线程,也可以有多个进程,同时执行不同的任务;本次课程主要是实现如何让进程可以进行多线程工作 一个进程就像一个工厂,多个进程就像工厂例的工人,每个工人之间的工作相互之间不影响 让一个进程多线程工作有两种实现方式: ①.直接导入treading模块 ...
分类:
编程语言 时间:
2019-11-30 17:42:30
阅读次数:
83
? 在我们平时使用Windows时,会看到同时运行多个应用程序的假象,这实际上是CPU切换进程的频率很快,导致我们没有察觉。实际上,CPU每一段时间只能运行一个应用程序。 进程与线程 一个操作系统可以有多个进程,进程可以简单的看做是正在执行中的应用程序。进程是多个线程的集合,一个进程中至少有一个线程 ...
分类:
编程语言 时间:
2019-11-27 20:39:57
阅读次数:
90
在多进程程序中(vfork创建的多进程除外),即使是全局变量也无法共享,各个进程都会保存局部变量或全局变量的副本,供自己使用。 共享内存将文件地址映射到内存中即可让多个进程共享内存中的数据。 内存映射API #include<sys/mman.h> void *mmp(void *addr, siz ...
分类:
其他好文 时间:
2019-11-25 18:12:54
阅读次数:
80
manager 能够实现进程之间的数据共享 (list,dict) 如果多个进程同事修改同一份共享数据,这个时候需要加锁,保证数据的准确性。 (1) dict list 可以实现进程之间的数据共享 (2)为了保证数据的准确性,需要加锁 基本语法: m = Manager() dic = m.dic( ...
分类:
系统相关 时间:
2019-11-16 12:44:27
阅读次数:
77
在Java中,线程的安全实际上指的是内存的安全,这是由操作系统决定的。 目前主流的操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问别的、分配给别的进程的内存空间,这一安全特性是由操作系统保障的。但是线程却与进程不同,因为在每个进程的内存空间中都 ...
分类:
编程语言 时间:
2019-11-16 10:32:07
阅读次数:
76
Linux如何查看进程和控制进程前言:程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。在Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。一:查看和控制进程使用不同的命令工具可以从不同的角度查看进程状态
分类:
系统相关 时间:
2019-11-14 23:39:19
阅读次数:
133
锁的概念 ①、锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。 ②、在计算机中,是协调多个进程或线程并发访问某一资源的一种机制。 ③、在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。 ④、如何保证数据并发访问的一致性、有效性,是 ...
分类:
数据库 时间:
2019-11-07 23:45:56
阅读次数:
110
一、关于上下文切换的几个为什么 1、上下文切换是什么? 上下文切换是对任务当前运行状态的暂存和恢复 2、为什么CPU要进行上下文切换 当多个进程竞争CPU的时候,为了保证每个进程可以公平被CPU调用,采用处理任务按时间分片的机制,当某个时间片上的任务达到最后的时间点,那么这个任务就好被挂起,处理下一 ...
分类:
其他好文 时间:
2019-10-29 23:51:13
阅读次数:
406
多线程 是指在软件 或者 硬件 上实现多个线程并发执行的技术。 优势: 具有多线程能力的计算机 因为有硬件支持而使其能够在同一时间执行多个线程,进而提升整体的处理性能。 操作系统中采用 时间片轮转法 来保证多个进程 / 线程并发执行,所谓的并发就是 :宏观并行,微观串行。 Java虚拟机的多线程:是 ...
分类:
编程语言 时间:
2019-10-29 23:50:37
阅读次数:
115