进程1 进程概念以及使用process完成多进程

进程概念
进程的状态
使用process完成多进程

进程概念

什么叫做资源,比如网络摄像头,键盘,鼠标这些硬件东西。

  • 程序:就是硬盘上的exe,不能拥有资源,例如xxx.py就是程序,是一个静态的
  • 进程:运行一个程序,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。

程序只有一个,但这个程序的进程可以有很多个。

进程的状态

工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行。而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态。
· 进程有3种状态

  • 就绪态:运行的条件都已经准备好,正在等在cpu执行
  • 执行态:cpu正在执行其功能
  • 等待态:等待某些条件满足,例如一个程序sleep了,此时就处于等待态

接下来放一个图来清晰的看到:
在这里插入图片描述


使用process完成多进程

导入multiprocessing模块

import multiprocessing

使用process完成多进程(和线程的thread看似一模一样,其实查看任务管理器进程,实际有3个同样的py文件在运行,而线程是一个py文件里运行多个函数)

p1 = multiprocessing.Process(target=Test1)
总代码:
import multiprocessing
import time

def Test1():
    while True:
        print("1-----")
        time.sleep(1)

def Test2():
    while True:
        print("2-----")
        time.sleep(1)

def main():
    p1 = multiprocessing.Process(target=Test1)
    p2 = multiprocessing.Process(target=Test2)
    p1.start()
    p2.start()


if __name__ == '__main__':
当执行到start()函数的时候,会创建出子进程,与主进程一模一样,只有代号不一样用来区分,相当于拷贝一份。 不过子进程1执行test1,子进程2执行test2,而不是从头执行。

进程越多,占的内存越大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值