进程 线程

多任务,指操作系统能够执行多个任务,每个任务就是一个进程。

使用mulitprocessing模块创建进程


运行结果:

主进程开始

主进程结束

我是子进程

对于简单小任务,通常使用Process(target=test)方法实现多进程。但是如果要处理复杂任务的进程,通常定义一个类,使其集成Process类,每次实例化这个类的时候,就等同于实例化一个进程对象。

如果需要处理多个任务,可以在一个应用程序内使用多个进程,每个进程完成一部分工作。另一种将工作细分为多个任务的方法是使用一个进程内的多线程。Thread线程是操作系统能进行运算调度的最小单位。他被包含在进程之中,一个进程中可以并发多个线程,每个线程并行执行不同的任务。

Python的标准库提供了两个模块,_thread和threading,_thread是低级模块,threading是高级模块,对_thread进行了封装。

一个进程可以有多个线程Thread.

进程之间不能共享数据,只能通过队列,管道等方法实现。

线程之间可以共享数据。

由于线程可以对全局变量随意修改,可能造成多线程之间对全局变量管理的混乱。引入互斥锁的概念。Mutual exclusion,防止多个线程同时读写某一块内存区域。

互斥锁为资源引入一个状态:锁定和非锁定。保证了每次只有一个线程进入读写操作。

mutex = threading.Lock()

mutex.acquire(blocking)

mutex.release()


购买成功,剩余99

购买成功,剩余98

购买成功,剩余97

购买成功,剩余96

购买成功,剩余95

购买成功,剩余94

购买成功,剩余93

购买成功,剩余92

购买成功,剩余91

购买成功,剩余90

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、多任务的引入 实现类似唱歌又跳舞的任务同时进行的,叫做:多任务 2、多任务的概念 什么叫“多任务”。简单地说,...
    JerryChenn07阅读 1,085评论 0 0
  • 进程和线程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打...
    阙馨妍子阅读 1,423评论 0 1
  • python之进程、线程与协程 有这么个例子说他们的区别,帮助理解很有用。 有一个老板想开一个工厂生产手机。 他需...
    道无虚阅读 8,406评论 0 3
  • 一、多任务的引入 在现实生活中,有很多的场景中的事情是同时进行的,比如开车的时候,手和脚共同来驾驶汽车;再比如,唱...
    蜀山客e阅读 11,578评论 0 3
  • 1. 多进程 1.1 操作系统的相关知识 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。...
    TAsama阅读 1,521评论 0 0