进程 进程 协程

基本概念

1.多任务:就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务。
2. 并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行,同一时间段运行,(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已),例:吃完饭->喝水 喝完水->睡觉 一觉醒来->吃饭……
3.并行:指的是任务数小于等于cpu核数,同一时刻,(即任务真的是一起执行的),例:吃饭的时候可以边吃饭边打电话,这两件事情可以同时执行
4.进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ;可以将进程理解为工厂中的一条流水线。
线程,能够完成多任务,比如 一个QQ中的多个聊天窗口;其中的线程就是这个流水线上的工人。

python进程

1.进程和程序
程序:例如main.py这是程序,是一个静态的
进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。
2.进程的状态
工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态。
这里写图片描述

3.进程的创建
(1)multiprocessing.Process类参数
target表示子线程的入口函数代码 None表示nothing
args表示入口代码运行所需的参数的元组
name指定进程的名称,可以不指定
(2)Process实例常用方法和属性
start() 启动进程的创建和执行
is_alive() 判断进程是否还存活
join([time]) 阻塞等待(超时)子进程结束
terminate() 终止子进程<慎用>
name 进程名称

from multiprocessing import Process
import os
import time

def run_proc(name):
    for i in range(10):
        print('Run child process %s (%s)...' % (name, os.getpid()))  #ps aux | grep process_name

        time.sleep(1)

def func(name):
    for i in range(10):
        print('Run child process %s (%s)...' % (name, os.getpid()))
        time.sleep(1)

if __name__ == '__main__':
    print('Parent process %s.' % os.getpid())
    p = Process(target=run_proc,args=('test',), name='th1')  #创建子进程,传入执行函数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值