并发与并行:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在单核CPU下的多线程其实都只是并发,不是并行。 进程是系统资源分配的最小单位,进程的出现是为了更好的利用CPU资源使到并发成为可能。进程由操作系统调度。 线程的出现是为了降低上下文切换的消耗,提高系统 ...
分类:
编程语言 时间:
2018-11-25 20:28:32
阅读次数:
111
并发:要做到同时服务多个客户端,有三种技术 1. 进程并行,只能开到当前cpu个数的进程,但能用来处理计算型任务 ,开销最大 2. 如果并行不必要,那么可以考虑用线程并发,单位开销比进程小很多 线程:并发(轮询调度,遇到阻塞就切换) 只要是网络,就会有延迟,有延迟就阻塞,所以比一般的单路要好些 3. ...
分类:
编程语言 时间:
2018-11-25 20:06:18
阅读次数:
324
python基础之进程、线程、协程 引子 进程 线程(优先阅读) 协程 进程 概念:就是一个程序在一个数据集上的一次动态执行过程(本质上来讲,就是运行中的程序(代指运行过程),程序不运行就不是进程) 抽象概念 组成: 1、程序:我们编写的程序用来描述进程要完成哪些功能以及如何完成 2、数据集:数据集 ...
分类:
编程语言 时间:
2018-11-16 13:30:54
阅读次数:
194
Goroutine:进程、线程、协程,调度模型;Channel:全局变量实现通讯,概念,channel实现通讯,类型和阻塞,关闭channel,channel只读和只写,select,定时器、设置超时时间,使用recover;单元测试:简单的用法示例。
分类:
编程语言 时间:
2018-11-15 01:36:27
阅读次数:
215
本节内容 操作系统发展史 手工操作(无操作系统) 1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。 手工操作程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行; ...
分类:
编程语言 时间:
2018-11-11 11:41:57
阅读次数:
131
1、python的多线程 多线程就是在同一时刻执行多个不同的程序,然而python中的多线程并不能真正的实现并行,这是由于cpython解释器中的GIL(全局解释器锁)捣的鬼,这把锁保证了同一时刻只有一个线程被执行。 多线程的特点: 线程比进程更轻量级,创建一个线程要比创建一个进程快10-100倍。 ...
分类:
编程语言 时间:
2018-11-10 12:44:56
阅读次数:
215
进程: qq 要以一个整体的形式暴露给操作系统管理,里面包含对各种资源的调用,内存的管理,网络接口的调用等。。。对各种资源管理的集合 就可以成为 进程线程: 是操作系统最小的调度单位, 是一串指令的集合进程 要操作cpu , 必须要先创建一个线程 ,all the threads in a proc ...
分类:
编程语言 时间:
2018-11-01 00:56:13
阅读次数:
148
进程: 假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作), 而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源。 是不是在程序A读取数据的过程中,让程序B去执行,当程序A读取完数据之后,让 程序B暂停,然后让程序A继续执行? 当然 ...
分类:
编程语言 时间:
2018-10-13 12:10:06
阅读次数:
166
进程和线程都会的切换都要消耗时间,保存线程进程当前状态以便下次继续执行。在不怎么需要cpu的程序中,即相对于IO密集型的程序,协程相对于线程进程资源消耗更小,切换更快,更适用于IO密集型。协程也是单线程的,没法利用cpu的多核,想利用cpu多核可以通过,进程+协程的方式,又或者进程+线程+协程。 1 ...
分类:
编程语言 时间:
2018-10-07 12:14:03
阅读次数:
161
进程 进程是系统进行资源分配和调度的一个独立单位,每个进程都有自己独立的内存空间,不同进程通过进程间通信来通信 线程 线程是进程的一个实体,是CPU调度和分配的基本单位,可与同属于一个进程的其他线程共享进程所拥有的全部资源 协程 协程是一种用户态的轻量级线程,协程的调度完全由用户控制 进程与线程区别 ...
分类:
编程语言 时间:
2018-10-03 20:47:40
阅读次数:
179