開発環境
- macOS High Sierra - Apple
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
入門 Python 3 (Bill Lubanovic (著)、斎藤 康毅 (監修)、長尾 高弘 (翻訳)、オライリージャパン)の10章(システム)、10.5(復習問題)6.を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 import multiprocessing import os import time import random print('10-6') def f(): n = random.randrange(1, 6) print(f'pid: {os.getpid()}, sleep({n}秒)') time.sleep(n) print(f'pid: {os.getpid()}') if __name__ == '__main__': for _ in range(5): ps = [] for _ in range(3): p = multiprocessing.Process(target=f) ps.append(p) p.start() for p in ps: p.join()
入出力結果(Terminal, Jupyter(IPython))
$ ./sample3.py 10-6 pid: 2591, sleep(4秒) pid: 2592, sleep(1秒) pid: 2593, sleep(3秒) pid: 2592 pid: 2593 pid: 2591 pid: 2594, sleep(2秒) pid: 2595, sleep(3秒) pid: 2596, sleep(4秒) pid: 2594 pid: 2595 pid: 2596 pid: 2597, sleep(1秒) pid: 2598, sleep(2秒) pid: 2599, sleep(2秒) pid: 2597 pid: 2598 pid: 2599 pid: 2600, sleep(3秒) pid: 2601, sleep(5秒) pid: 2602, sleep(3秒) pid: 2600 pid: 2602 pid: 2601 pid: 2603, sleep(5秒) pid: 2604, sleep(5秒) pid: 2605, sleep(2秒) pid: 2605 pid: 2603 pid: 2604 $
0 コメント:
コメントを投稿