首页 > 系统相关 >python的进程池,线程池的使用

python的进程池,线程池的使用

时间:2022-09-28 11:33:36浏览次数:55  
标签:get python print html 线程 result 进程 sleep

进程池

import multiprocessing
import time


# 多进程编程
def get_html(n):
time.sleep(n)
print('sub progress success')
return n


if __name__ == '__main__':
# 使用进程池
pool = multiprocessing.Pool(multiprocessing.cpu_count())
# imap,按照顺序打印
for result in pool.imap(get_html, [1, 5, 3]):
print('{} sleep suceess'.format(result))
# imap,哪个先执行完打印哪个
for result in pool.imap_unordered(get_html, [1, 5, 3]):
print('{} sleep suceess'.format(result))

线程池

from concurrent.futures import ThreadPoolExecutor
import time

# 线程池
# 主线程中可以获取某一个线程的状态或者某一个任务的状态,以及返回值
# 当一个线程完成的时候,我们主线程能立即知道
# futures可以让多线程和多进程编码接口一致


def get_html(times):
    time.sleep(times)
    print('get page {} success'.format(times))
    return times


executor = ThreadPoolExecutor(max_workers=1)
# 通过submit函数提交执行的函数到线程池中,submit是立即返回,是非阻塞的函数
# submit(fn, *args, **kwargs)
task1 = executor.submit(get_html, (3))
task2 = executor.submit(get_html, (2))

# done方法用判断某个任务是否完成
print(task1.done())
# cancel不能取消任务状态为执行中或者执行完成的task
print(task2.cancel())
time.sleep(3)
print(task1.done())

# result方法可以获取task的执行结果
print(task1.result())

 

标签:get,python,print,html,线程,result,进程,sleep
From: https://www.cnblogs.com/topass123/p/16737391.html

相关文章

  • 1、python 基础知识-文件编号排序及指定后缀名文件删除
    问题描述:需要对一些文件进行删除和存在一对一的文件保存(1)自动删除指定文件后缀名文件:importsyscurrDir=sys.path[0]importosdefremoveFile(dir,postfix):ifos.pat......
  • python的私有方法
     __init__和__new__#!/user/bin/envpython#-*-coding:utf-8-*-#__new__在__init__之前执行#__new__是用来控制对象的生成过程,在对象生成之前#__ini......
  • python的bisect
    bisect是python内置模块,用于有序序列的插入和查找。查找:bisect(array,item)插入:insort(array,item)importbisecta=[1,4,6,8,12,15,20]position=bisect.......
  • 多个python环境,选用指定环境下的 pyinstaller 进行打包文件
    背景:电脑上同时安装了python2.7和python3.8,现在想用python3.8环境下的pyinstaller来进行打包生成exe文件。常规操作方法:通过cmd进入需要打包文件的目录,执行命令pyinsta......
  • Java中的异步与线程池 保姆级教学
    Java中的异步与线程池保姆级教学2022-09-2509:10·Java架构师鸨哥初始化线程的4种方式1、继承ThreadThread01thread01=newThread01(); thread01.start();......
  • python接口测试3-使用递归函数
    递归函数,自己调用自己,达到某一条件时停止调用。我理解的是类似于两个正面对着的镜子,镜子中的画面不停重复,直到某一个时刻停止。1、使用场景:需要提取某个接口的返回数据,返......
  • 操作系统如何让进程受限执行
    操作系统的一个任务是虚拟化CPU,让每个进程以为自己在独占CPU。现代操作系统采用分时的方式来完成这个工作,一个进程获得CPU,运行一段时间,另一个进程再获得CPU去运行,这些进程......
  • Java线程同步的四种方式详解(建议收藏)
    ​ Java线程同步属于Java多线程与并发编程的核心点,需要重点掌握,下面我就来详解Java线程同步的4种主要的实现方式@mikechen目录什么是线程同步线程同步的几种方式......
  • 【保姆级Python入门教程】马哥手把手带你安装Python、安装Pycharm、环境配置教程
    您好,我是@马哥python说,一枚10年程序猿。我的社群中小白越来越多,咨询讨论的问题很多集中在python安装上,故输出此文,希望对大家起步有帮助。下面开始,先安装Python,再安装py......
  • lc234判断回文链表 isPalindrome python3
    给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。classSolution:defisPalindrome(self,head:ListNode)->bool:v......