回答編集履歴
3
説明補足
test
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
[Pythonの関数をタイムアウトさせるときに便利なライブラリ](
|
12
12
|
https://scrapbox.io/PythonOsaka/Python%E3%81%AE%E9%96%A2%E6%95%B0%E3%82%92%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%81%95%E3%81%9B%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E4%BE%BF%E5%88%A9%E3%81%AA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA)
|
13
13
|
|
14
|
-
タイムアウトの通知はされますが、関数の実行自体は中断されない点に注意してください。
|
14
|
+
スレッドを用いる方法では、タイムアウトの通知はされますが、関数の実行自体は中断されない点に注意してください。
|
15
15
|
もし時間の掛かる処理を取りやめたい場合は、関数自体を中断可能な設計するか、
|
16
16
|
multiprocessing.Process と terminate を用いてプロセス自体を終了することになります。
|
17
17
|
|
2
ライブラリのリンクを追加
test
CHANGED
@@ -8,6 +8,8 @@
|
|
8
8
|
関数の結果を取り出す result() メソッドに timeout を指定することができます。
|
9
9
|
- 外部ライブラリを使う
|
10
10
|
タイムアウト時に例外を投げる関数デコレーターやコンテキストマネージャが幾つか有ります。
|
11
|
+
[Pythonの関数をタイムアウトさせるときに便利なライブラリ](
|
12
|
+
https://scrapbox.io/PythonOsaka/Python%E3%81%AE%E9%96%A2%E6%95%B0%E3%82%92%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%81%95%E3%81%9B%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E4%BE%BF%E5%88%A9%E3%81%AA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA)
|
11
13
|
|
12
14
|
タイムアウトの通知はされますが、関数の実行自体は中断されない点に注意してください。
|
13
15
|
もし時間の掛かる処理を取りやめたい場合は、関数自体を中断可能な設計するか、
|
1
文章表現の訂正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
threading.Thread で target に渡す関数の戻り値は
|
1
|
+
threading.Thread で target に渡す関数の戻り値は無視されます。
|
2
2
|
[source code 該当箇所 Thread.run メソッド内](https://github.com/python/cpython/blob/f4cb8285ba7c6c71fdb459fba53e877c1678e1ab/Lib/threading.py#L975)
|
3
3
|
|
4
4
|
値を受け渡す方法は
|