并发编程 并发程序要正确地执行,必须要保证其具备原子性、可见性以及有序性;只要有一个没有被保证,就有可能会导致程序运行不正确 线程不安全在编译、测试甚至上线使用时,并不一定能发现,因为受到当时的CPU调度顺序,线程个数、指令重排的影响,偶然触发 线程安全的定义 比如说一个类,不论通过怎样的调度执行顺 ...
分类:
编程语言 时间:
2019-03-20 01:16:26
阅读次数:
201
一,什么是多线程? 进程:一个正在执行的程序,比如说微信 线程:进程中的一个独立控制单元,线程控制着进程的执行 并行与并发: 并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。 并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有 ...
分类:
编程语言 时间:
2019-03-15 16:02:46
阅读次数:
160
基本概念: CPU和I/O的交替序列: CPU-burst CPU调度 CPU调度方案 抢占的原则 CPU调度算法 调度的准则 调度算法只影响等待时间,而不能影响进程真正使用CPU的时间和I/O时间 具体算法 先来先服务 产生问题 先来先服务 产生问题 SJF 优先级算法(Priority Sche ...
分类:
其他好文 时间:
2019-03-03 19:05:44
阅读次数:
392
一:进程与线程 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位) 线程和进程一样分 ...
分类:
编程语言 时间:
2019-03-03 16:05:08
阅读次数:
224
功能 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口 定义的不同 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源, ...
分类:
编程语言 时间:
2019-03-03 09:49:48
阅读次数:
178
1.基础概念 CPU核心数和线程数的关系 核心数:线程数=1:1 ;使用了超线程技术后 > 1:2 CPU时间片轮转机制 又称RR调度,会导致上下文切换 什么是进程和线程 进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源 线程:CPU调度的最小单位,必须依赖进程而存在。 澄 ...
分类:
编程语言 时间:
2019-02-28 18:33:54
阅读次数:
222
定义: 一、程序只是一组指令的有序集合。 二、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位; 三、线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少 ...
分类:
编程语言 时间:
2019-02-20 17:30:42
阅读次数:
210
线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。进程是资源分配的最小单位,线程是CPU调度的最小单位,每一个进程中至少有一个线程,线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。Threading模块提供线程相关
分类:
编程语言 时间:
2019-02-17 14:17:26
阅读次数:
186
进程:进程是系统进行资源分配的最小单位,每个进程都有自己的独立内存空间,不用进程通过进程间通信来通信,但是进程占据独立空间,比较重量级,所以上下文进程间切换开销比较大,但是比较稳定。 线程:是进程的实体,是cpu调度的最小单位,它比进程更小能独立运行的基本单位,线程基本不拥有系统资源,只占用一点运行 ...
分类:
编程语言 时间:
2019-02-16 09:19:00
阅读次数:
171
目录 1.进程和线程的由来 2.进程和线程的定义 3.进程和线程的区别 一、进程和线程的区别 1.进程和线程的由来 2.进程和线程的定义 进程是资源分配的最小单位,线程是CPU调度的最小单位 3.进程和线程的区别 ...
分类:
编程语言 时间:
2019-02-11 18:35:19
阅读次数:
162