Python的进程和线程(1)

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线程的状态转换
---------------- 谢谢光临 ----------------

本文标题:Python的进程和线程(1)

文章作者:pxrux

发布时间:2019年07月14日 - 00:07

最后更新:2019年07月14日 - 00:07

原始链接:http://www.mykernel.cn/python-threading-v1.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%