2021-07-14
python学习
00
请注意,本文编写于 954 天前,最后修改于 954 天前,其中某些信息可能已经过时。

目录

1.并行和并发
2. 线程和进程
3. 线程的状态

1.并行和并发

并行和并发的区别? 并行(parellel),一个人同一时刻做几件不互相干扰的事 并发(concurrency),同一时刻多个人 做同一件事 轮流做

解决高并发的办法

  1. 队列(优先队列),缓冲区
  2. 争抢(锁机制,独占锁),存在永远抢不到的问题
  3. 预处理,缓存
  4. 并行(水平扩展)
  5. 提速(垂直扩展)
  6. 消息中间件 (rabbitMQ) 并行和并发

2. 线程和进程

进程(process)是计算机的程序关于某数据集合行的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

  1. 进程和程序的关系 程序是源代码编译后的文件,而这些文件存放在磁盘上,当程序被操作系统加载到内存中,就是进程,进程中存放指令和数据,它是线程的容器.

  2. 什么是线程 线程,也被称为轻量级进程(lwp), 是程序执行流的最小单元; 一个标准的线程是由线程ID,当前指令指针(PC),寄存器和堆栈组成.

  3. 进程和线程的关系 (1) 进程是容器提供资源; (2) 线程是执行单元,使用进程提供的资源; (3) 每一个进程都认为自己独占所有的计算机硬件资源; (4) 进程之间不能随便共享数据; (5) 同一个进程内的线程可以共享进程的资源,每一个线程拥有自己独立的堆栈.

线程和进程

3. 线程的状态

  1. 运行态(running) 该时刻,该线程正在占用cpu
  2. 就绪态(ready) 可随时转换为运行态,因为其他线程正在运行而暂停,不占cpu
  3. 阻塞态(blocked) 除非某些外部事件发生 ,否则不运行
  4. 终止(terminated) 线程完成或退出,取消 python线程的状态转换

本文作者:mykernel

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!