进程和多进程实现多任务

进程定义
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。并且进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
进程概念
• 进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。
• 进程是一个“执行中的程序”。
• 进程是操作系统中最基本、重要的概念。
进程与程序区别
• 进程:正在执行的程序。动态的,暂时的
• 程序:没有执行的代码,是一个静态的,永久的
通过python 实现多进程的方式:
multiprocessing.Process
实现代码和多线程的代码十分类似
只不过是把多线程的threading.Thread 换成了多进程的multuprocess.Process了
代码如下:

import threading
import time
import multiprocessing
def main():
    #t1 = threading.Thread(target=demo1)
    #t2 = threading.Thread(target=demo2)
    t1 = multiprocessing.Process(target=demo1)
    t2 = multiprocessing.Process(target=demo2)
    t1.start()
    t2.start()
def demo1():
    for i in range(3):
        print('----demo1----')
        time.sleep(1)

def demo2():
    for i in range(3):
        print('----demo2-----')
        time.sleep(1)


if __name__ == '__main__':
    main()

通过类继承的方式实现多进程:

import multiprocessing
import time
class demo1(multiprocessing.Process):
    def run(self):
        while True:
            print('-----demo1-----')
            time.sleep(0.5)

class demo2(multiprocessing.Process):
    def run(self):
        while True:
            print('-----demo2-----')
            time.sleep(0.5)
def main():
    p1 = demo1()
    p2 = demo2()
    p1.start()
    p2.start()
    p1.join()
    p2.join()
    print('主进程')

if __name__ == '__main__':
    main()

按照这种方式,将子线程阻塞,子线程结束前主线程不结束,这样就出现了同步进行的三个进程,
在这里插入图片描述
这三个python进程其实是将代码复制了3份,算是空间换时间

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值