Wangzi Python 9 07 自編執行緒池

2021-09-26 22:57:18 字數 1154 閱讀 8096

# -*- coding: utf-8 -*-

# @time : 2019/9/7 10:47

# @author : wangzi

# @file : w.py

from threading import thread,current_thread

from queue import queue

import time

class mypool:

def __init__(self,n):# n指定執行緒數量

self.q = queue()#佇列,存任務

for i in range(n):#生成執行緒

thread(target=self.worker,daemon=true).start()

def worker(self):

while true:

func, args, kwargs = self.q.get()

func(*args,**kwargs)

self.q.task_done()#與join配合

def put(self,func,args=(),kwargs = {}):

self.q.put((func,args,kwargs))

def join_q(self):

self.q.join()#等待完成

def task1():

print('我是王子爸爸{},我正在教育兒子'.format(current_thread().name))

time.sleep(3)

print('教育完了')

def task2(*args,**kwargs):

print('我是王子媽媽{},我正在聽爸爸教育兒子'.format(current_thread().name))

time.sleep(3)

if __name__ == '__main__':

pool = mypool(2)

pool.put(task1)

pool.put(task2,args=(0,1),kwargs=)

print('開始教育兒子......')

pool.join_q()

print('教育兒子完畢,全家開開心心去吃火鍋')

AcWing 907 區間覆蓋

目錄貪心演算法求解 參考文章 題目傳送門 給定 nn 個閉區間 ai,bi ai,bi 以及乙個線段區間 s,t s,t 請你選擇盡量少的區間,將指定線段區間完全覆蓋。輸出最少區間數,如果無法完全覆蓋則輸出 1 1。輸入格式 第一行包含兩個整數 ss 和 tt,表示給定線段區間的兩個端點。第二行包含...

907 子陣列的最小值之和

碰到leetcode907,子陣列的最小值之和,用python3按自己思路寫死都過不去,怎麼都超時,這是python3 class solution def sumsubarraymins self,a type a list int rtype int res 0 length len a for...

907 子陣列的最小值之和

題目描述 給定乙個整數陣列 arr,找到 min b 的總和,其中 b 的範圍為 arr 的每個 連續 子陣列。由於答案可能很大,因此 返回答案模 10 9 7 示例 1 輸入 arr 3,1,2,4 輸出 17 解釋 子陣列為 3 1 2 4 3,1 1,2 2,4 3,1,2 1,2,4 3,1...