2017-09-24 34 views
0

我有一個python線程的基本問題。我可以使用單個線程來執行多個功能而無需鏈接功能嗎?

當我看到例子,我明白線程需要一個函數來執行。 我可以使用單個線程以串行方式執行多個功能嗎?

如果是這樣,除了從當前調用下一個函數以外的任何其他方式?

像任何方式我可以通過'n'函數我需要連續執行初始本身,而不是從每個函數鏈接?

+0

通過,其中包裝膜函數,當然需要你的'n'函數。任何你不想*的方法? –

回答

0

如果你只是想在一個線程中執行的功能列表:

funcs = [ 
    myfunc1, 
    myfunc2, 
    # ... 
] 

def thread_func(): 
    for f in funcs: 
     f(arg1, arg2) 

注意,功能都必須接受相同的參數集。

+0

我正在調用這樣的線程= Thread(target = sample,kwargs = v2) – syam

+0

看着我是否可以連續地用一個線程完成我所有的功能。我的整個系統包含10個線程,每個服務器和每個線程都需要連續執行一些功能。這就是我正在尋找 – syam

0

顯然是的!

假設你希望得到一個號碼,並添加5〜它
那麼你要加2,並在森那時間同時打印,簡單地做:

def plusfive(num): 
    print(num+5) 

def plustwo(num): 
    print(num+2) 
    plusfive(num) 

plustwo(34) 
+0

tnx的答案。但我不想鏈接函數,意味着從一個函數明確調用觸發下一個函數 – syam

+0

然後你可以使用一個列表,並使用for循環工作。正如@Jonathon Reinhart所說 – bob

相關問題