回答編集履歴

3

説明補足

2022/11/16 02:58

投稿

teamikl
teamikl

スコア8664

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

ライブラリのリンクを追加

2022/11/16 02:57

投稿

teamikl
teamikl

スコア8664

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

文章表現の訂正

2022/11/16 02:26

投稿

teamikl
teamikl

スコア8664

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
  値を受け渡す方法は