multiprocessing多執行緒未執行
以下程式碼在Jupyter
沒有任何輸出
# 1 匯入
import multiprocessing
import time
#唱歌
def sing( ):
for i in range(3):
print("唱歌...")
time.sleep(0.5)
#跳舞
def dance( ):
for i in range(3):
print("跳舞...")
time.sleep(0.5)
# 2. 使用程式類
sing_process = multiprocessing.Process (target=sing)
dance_process = multiprocessing.Process (target=dance)
# 3. 啟動程式
sing_process.start()
dance_process.start()
在這裡得到了答案https://zhidao.baidu.com/question/621802532293803652.html
這是因為multiprocessing模組在互動模式是不支援的,在 cmd 裡頭輸入 python xxx.py 來執行起來,你就可以看到子程式的執行了。
注意!如果多程式沒有放在主函式執行,會報以下錯誤
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.
將star
t方法放在main
中即可
相關文章
- 多執行緒--執行緒管理執行緒
- 執行緒與多執行緒執行緒
- 多執行緒【執行緒池】執行緒
- 多執行緒和多執行緒同步執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- Java多執行緒-執行緒中止Java執行緒
- 多執行緒之初識執行緒執行緒
- 多執行緒系列之 執行緒安全執行緒
- iOS 多執行緒之執行緒安全iOS執行緒
- Java多執行緒之執行緒中止Java執行緒
- Android多執行緒之執行緒池Android執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- kuangshenshuo-多執行緒-執行緒池執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- 多執行緒之手撕執行緒池執行緒
- java多執行緒9:執行緒池Java執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- 多執行緒系列(1),多執行緒基礎執行緒
- 【多執行緒總結(二)-執行緒安全與執行緒同步】執行緒
- a、多執行緒執行緒
- 執行緒以及多執行緒,多程式的選擇執行緒
- 多執行緒學習一(多執行緒基礎)執行緒
- Java多執行緒(一)多執行緒入門篇Java執行緒
- 多執行緒(五)---執行緒的Yield方法執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- C#多執行緒(6):執行緒通知C#執行緒
- 【Java】【多執行緒】執行緒池簡述Java執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- 使用委託開啟多執行緒(多執行緒深入)執行緒
- 【Java多執行緒】輕鬆搞定Java多執行緒(二)Java執行緒
- 多執行緒併發篇——如何停止執行緒執行緒
- iOS多執行緒安全-13種執行緒鎖?iOS執行緒
- Java多執行緒學習——執行緒通訊Java執行緒
- Java多執行緒學習(2)執行緒控制Java執行緒
- 多執行緒(2)-執行緒同步互斥鎖Mutex執行緒Mutex