进程和线程

进程

  • 进程就是一个程序在一个数据集上的一次动态执行过程。

fork

  import os
    # 注意,fork函数,只在Unix/Linux/Mac上运行,windows不可以
    pid = os.fork()
    if pid == 0:
        print('哈哈1')
    else:
        print('哈哈2')
  • 程序执行到os.fork()时,操作系统会创建一个新的进程(子进程),然后复制父进程的所有信息到子进程中
  • 然后父进程和子进程都会从fork()函数中得到一个返回值,在子进程中这个值一定是0,而父进程中是子进程的 id号

multiprocessing

multiprocessing模块可以让程序员在给定的机器上充分的利用CPU。在multiprocessing中,通过创建Process对象生成进程,然后调用它的start()方法。

from multiprocessing import Process

def fun(name):
    print('hello', name)
if __name__ == '__main__':
    p = Process(target=fun, args=('laowang',))
p.start()
p.join  # 等待进程执行完毕

threading()

import threading
import time

def saySorry():
    print("亲爱的,我错了,我能吃饭了吗?")
    time.sleep(1)

if __name__ == "__main__":
    for i in range(5):
        t = threading.Thread(target=saySorry)
        t.start() #启动线程,即让线程开始执行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本系列主要学习Python的基本使用和语法知识,后续可能会围绕着AI学习展开。Python3 (1) Python...
    猿来如痴阅读 1,528评论 0 5
  • 多进程。 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。 Uni...
    小鱼儿喜欢花无缺阅读 249评论 0 0
  • 进程和线程 线程是最小的执行单元,而进程由至少一个线程组成。 多进程 Unix下多进程和系统原生调用很像,使用fo...
    fengmlo阅读 285评论 0 0
  • 进程和线程 进程线程的区别1、进程是什么?是具有一定独立功能的程序、它是系统进行资源分配和调度的一个独立单位,重点...
    HeartGo阅读 1,242评论 0 4
  • 文|搬砖哥 【冷】 走在城市中 我和风一样冷 有零下一度的陌生 冻僵了我的眼神 还有我们的灵魂 寒风好冷,好冷,好...
    一枚搬砖哥阅读 459评论 20 38