美文网首页
分享-python多任务

分享-python多任务

作者: 终生学习wq | 来源:发表于2019-11-14 23:00 被阅读0次

多任务的实现

多任务处理,同一时刻进行多次代码实现。

任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去。表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像所有任务都在同时执行一样。

进程

进程是资源(CPU、内存等)分配的最小单位,进程有独立的地址空间与系统资源,一个进程可以包含一个或多个线程。

创建进程特别多的时候,通过进程池进行管理。

from multiprocessing import Pool 

import os,time,random 

def worker(msg): 
  t_start = time.time() 
  print("%s开始执行,进程号为%d"%(msg,os.getpid())) 
  random.random()随机生成0~1之间的浮点数 
  time.sleep(random.random()*2) 
  t_stop = time.time() 
  print(msg,"执行完毕,耗时%0.2f"%(t_stop-t_start)) 
    po=Pool(3) #定义一个进程池,最大进程数3for i in range(0,10): 
  Pool.apply_async(要调用的目标,(传递给目标的参数元祖,)) 
  #每次循环将会用空闲出来的子进程去调用目标 
  po.apply_async(worker,(i,)) 
    print("----start----") 
    po.close() #关闭进程池,关闭后po不再接收新的请求 
    po.join() #等待po中所有子进程执行完成,必须放在close语句之后 
    print("-----end-----") 

线程

线程是CPU调度的最小单位,是进程的一个执行流,线程依赖于进程而存在,线程共享所在进程的地址空间和系统资源,每个线程有自己的堆栈和局部变量

协程

单线程执行多任务

<?php

function request(){ 
  while (true){ 
        echo "将要进行远程数据的请求".PHP_EOL; 
        yield;  // 让出cpu资源 
        sleep(5); 
        echo "远程请求结束".PHP_EOL; 
  } 
} 

function test($request){ 
  while (true){ 
    echo "test 开始".PHP_EOL; 
    $request->next(); 
    sleep(0.5); 
  } 
} 

$a = request(); 

test($a); 

相关文章

  • 分享-python多任务

    多任务的实现 多任务处理,同一时刻进行多次代码实现。 任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再...

  • GIL

    Python的GIL是什么鬼 学习编程的时候,我们少会涉及到多任务。可是在python中使用多任务经常会提...

  • Python多线程多进程

    Python多线程多进程 QUICK START 1.[endif]进程和线程 1.1系统多任务机制 多任务操作的...

  • Python3简单实现多任务(线程/协程篇)

    写在前面 上一篇文章[Python3简单实现多任务(多进程篇)]已经介绍了python多进程实现多任务的简单实现方...

  • python——多任务

    linux才是真正的多用户多任务多任务,一般是通过时间片轮转和优先级调度等实现并发 进程 正在运行着的代码 线程 ...

  • Python - 多任务

    一、进程 1、multiprocessing.Process创建进程 2、使用Pool进程池创建进程 3、进程间的...

  • day24系统编程

    1python系统编程 1.1进程 1.1.1多任务的引入 单任务: 多任务: 说明: ·程序执行到os.fork...

  • python 进程和线程之多线程

    python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 多线程 多任务可以由多进程完成,也可以由一个进程...

  • 2018-11-22进程,线程,协程

    进程:代码+资源,可以实现多任务线程:运行在进程中的最小单元,消耗资源小于进程 可以实现多任务协程:Python独...

  • Python多任务总结

    多任务什么是多任务同时做多件事件(做个多个任务),运行多个方法多任务的原理并发:假的多任务,时间片的轮转,快速的交...

网友评论

      本文标题:分享-python多任务

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