teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

質問を受けて追記

2021/12/05 08:46

投稿

TakaiY
TakaiY

スコア14534

answer CHANGED
@@ -20,4 +20,37 @@
20
20
  - ちょっと待つ
21
21
  ```
22
22
 
23
- ようするに、メインのプロセスで他のプロセスの起動と終了をちゃんと管理する必要があるということです。
23
+ ようするに、メインのプロセスで他のプロセスの起動と終了をちゃんと管理する必要があるということです。
24
+
25
+ ---
26
+ 質問を受けて追記します。
27
+
28
+ プロセスrが動作しているかどうかを示す情報、そういうのをフラグと呼びます、をつかって状態を管理すればいいです。
29
+
30
+ フラグとして、r_runningを作ってFalseで初期化します。
31
+ あとは、そのフラグも見ながら動作を調整していきます。
32
+ ```python
33
+ executor.submit(m.process)
34
+
35
+ r_running = False
36
+
37
+ while True:
38
+
39
+ # プロセスrが動作していなくて、プロセスmの情報ができたらプロセスrを起動
40
+ if not r_running and os.path.exists(count_image_path)== True:
41
+ executor.submit(r.run)
42
+ r_running = True
43
+ # ここで消してしまっていいのか不明 プロセスrで使うのでは?
44
+ os.remove(count_image_path)
45
+
46
+ # プロセスrが終了したら、フラグを落す。
47
+ if os.path.exists(text_reading_image_path):
48
+ r_running = False
49
+ os.remove(text_reading_image_path)
50
+
51
+ # プロセスmが終章したらループを抜ける
52
+ if not r_running and #プロセスmの終了検知
53
+ break
54
+
55
+ #ここに少しスリープを入れたほうがいいでしょう。
56
+ ```