美文网首页
进程和线程

进程和线程

作者: isMyNickName | 来源:发表于2018-08-26 19:15 被阅读0次

    进程

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

    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() #启动线程,即让线程开始执行
    

    相关文章

      网友评论

          本文标题:进程和线程

          本文链接:https://www.haomeiwen.com/subject/hgnoiftx.html