进程1


'''
  运行一个程序:代码是自上而下加载按照顺序执行。
  操作系统:
  并发:
  并行:

你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
--->顺序
你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
 ---> 并发
你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。 ---->并行
并发的关键是你有处理多个任务的能力,不一定要同时。
并行的关键是你有同时处理多个任务的能力

单核CPU:
    浏览网页
    听歌

 步骤:
 1. 创建进程对象  p = Process(target=函数名)
 2. 启动进程   p.start()

'''
from time import sleep


def sing():
    for i in range(3):
        print("正在唱歌...%d" % i)
        sleep(1)


def dance():
    for i in range(3):
        print("正在跳舞...%d" % i)
        sleep(1)


#
# if __name__ == '__main__':
#     sing()  # 唱歌
#     dance()  # 跳舞


# 引入进程
from multiprocessing import Process

if __name__ == '__main__':
    # 1. 创建process对象,指定该进程完成任务
    p1 = Process(target=sing)  # process进程要完成任务 通过target这个参数指定
    p2 = Process(target=dance)

    # 2. 启动进程
    p1.start()
    p2.start()

'''
   主进程  子进程
   进程号  主进程号
'''
from multiprocessing import Process
from time import sleep
import os


def weichat(name):
    for i in range(5):  # parent process id
        print('正在跟{}聊天,这是第{}句'.format(name, i + 1), os.getpid(), os.getppid())
        sleep(1)


def study(course, time):
    for i in range(time):
        print('认真学习{},这个第{}小时'.format(course, i + 1), os.getpid(), os.getppid())
        sleep(1)


if __name__ == '__main__':
    # weichat('小二郎')
    # study('python', 3)

    p1 = Process(target=weichat, args=('小二郎',))
    p2 = Process(target=study, kwargs={'course': 'python', 'time': 4})

    p1.start()
    p2.start()

    for i in range(5):
        print('---------->', i, os.getpid())
        sleep(1)

 

发布了259 篇原创文章 · 获赞 6 · 访问量 4993
App 阅读领勋章
微信扫码 下载APP
阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览