python3多執行緒自定義threading子類

2021-09-29 07:12:49 字數 1531 閱讀 7937

1、python3多執行緒自定義threading.thread的子類;

2、多執行緒並行,獲取多執行緒執行結果

import threading

from time import sleep

exitflag =

true

defpp1

(*args)

: i =

1while

(exitflag)

:print

('\r'

+' '*20

,end='')

print

('\r執行緒1執行中'

+'.'

*(i%7)

,end='')

sleep(

0.5)

i =(i>=

6and

1or i+1)

#if i>=6則i=1,否則i=i+1

print

('執行緒1結束'

)def

pp2(x,y)

: sleep(3)

print

('\n執行緒2結束'

)return x + y

class

mythread

(threading.thread)

:#mythread類繼承threading.thread類

def__init__

(self,func,args1=

none

,args2=

none):

threading.thread.__init__(self)

self.func = func

self.args1 = args1

self.args2 = args2

defrun(self)

:#t.start()語句呼叫run方法

self.result = self.func(self.args1,self.args2)

defgetresult

(self)

:#getresult方法可獲得func函式return的結果

threading.thread.join(self)

return self.result

t1 = mythread(pp1)

#初始化t1

t2 = mythread(pp2,2,

3)#初始化t1

t1.start(

)#啟動執行緒t1

t2.start(

)#啟動執行緒t2

t2.join(

)#判斷執行緒t2執行結束

exitflag =

false

#執行緒2執行結束後,執行緒1才能結束

t1.join(

)#判斷執行緒t1執行結束,執行緒t1結束後,主線程才能往下執行

print

('執行緒2返回結果: '

,t2.getresult())

print

('主線程結束'

)

python3自定義函式

一 什麼是函式 函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式能提高應用的模組性,和 的重複利用率。你已經知道python提供了許多內建函式,比如print 但你也可以自己建立函式,這被叫做使用者自定義函式。語法def 函式名 引數列表 函式體def func print 王小...

python3 自定義比較函式

python 2 中支援類似 c 中 cmp 的寫法 python 3 放棄了這一用法 官方說明 所以不想寫lambda的話,加一句cmp to key 就行了 def 比較函式 return 原來的方式是 sorted cmp 比較函式 現在的方式是 from functools import c...

python3 自定義比較器

摘要 在一些場景中,需要重新對已有的資料排序,可能所給出的資料型別或者資料數量較多,需要給定排序規則。import functools def by score t1,t2 if t1 0 t2 0 return 1 elif t1 0 t2 1 return 1 elif t1 1 t2 1 re...