No.4ベストアンサー
- 回答日時:
排他制御したいわけではなく、イベント待ちしたい、ということでしょうか。
・加工機スレッドからの通知を非同期にしてキューイングする。
・画面スレッドは管理スレッドに通知を投げ、応答待ちでブロッキングする
・ウェイトから抜けると画面スレッドはキューに加工状況があるを確認、あれば再度管理スレッドに通知。
こんな感じでしょうか。
環境がWindowsなら(Linux等の場合はよみかえてください)、
一番簡単なのはメッセージ送信かと思います。(PostMessage等)
で、幾つか機になる点が。
・画面スレッドが本当にブロッキングすると画面描画も止まる。
→ポーリングや非同期の返信メッセージ待ちにするか、MsgWaitForMultipleObjectsEx等を検討。
制御スレッドと描画スレッドに分離するとか。このあたりは詳細仕様がわからない外野にはなんとも。
・どんどん、とありますが管理スレッドからの戻りが遅くてキューがあふれた場合の仕様
→古いデータを捨てるなどしないと遅延がたまる/死ぬ等がありえます。
No.3
- 回答日時:
そもそも何の話でしょう?
環境も全く分かりませんし、スレッドといってもサブプログラムの意味のスレッドとは限りませんしね。
例えば、CGIでBBSを作っていて、そのスレッドの話とか...
No.2
- 回答日時:
自分で自分をロックする場合、誰がソレを解除してくれるのでしょうか。
ロックしたが最後、二度と解除されないような。
# もしくはロックカウントだけが増えていくだけか、
# タイムアウトがおきるか…。
どんなことが実現したくて、自分をロックしたいのでしょう。
単純にタイムアウトするまで待ちたい(特定時間止まりたい)等でしょうか。
(差しさわりのない範囲で)質問の背景を提示してください。
この回答への補足
加工機スレッド →→→→→→ 画面スレッド →→ 上位管理スレッドに通信
加工状況 加工状況その2
加工状況その2で上位管理スレッドに通知後、
上位スレッドから返答がきたら 次の加工状況を通信したいのですが、
どんどん加工状況が送られてきます。
画面スレッドで 次から次へと送られてくる情報を lockさせたいのです。
もちろん加工機スレッドは動いていないとだめなのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CPU・メモリ・マザーボード インテルCPUの世代ごとのデスクトップとノートのコア数についてこれで正しいですか?(*´ω`*) 1 2023/01/07 14:44
- グループウェア slackについて取り急ぎ教えて頂きたいことがあります 2 2022/04/08 09:05
- CPU・メモリ・マザーボード CPUについて 4 2022/07/09 13:41
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- 2ちゃんねる Server relocation is in progress.って何でしょうか 1 2022/10/27 19:46
- 防犯・セキュリティ 鍵屋さんか、鍵に詳しい人に聞きたいですが、 「クレセント錠をかけ、ロックした状態で、外からロックもク 4 2023/03/31 13:48
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- 倫理・人権 酔っ払いが他人にたくさん迷惑を掛けているので、もっとお酒規制を厳しくした方が良いのでは? 2 2022/04/11 11:54
- その他(Microsoft Office) OneDrive Personalについて 1 2022/08/02 18:25
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VC++スレッドの正しい終了のさ...
-
スレッドにて同一メモリの書き...
-
.netアプリへのSendMessageでフ...
-
マルチスレッドプログラムでメ...
-
特定のスレッドの破棄
-
スレッドの終了はどうやるんで...
-
pthread_cond_wait での mutex
-
_beginthreadexについて
-
別スレッドとイベントの終了手...
-
Windows上で、シグナル(SIGTERM...
-
Macターミナルで実行中のプログ...
-
緯度、経度の 10進法と 60進法...
-
プログラミング ソースコード
-
バックグラウンドのプロセスの...
-
C言語で、メモリを解放しないで...
-
動的メモリとexit(C言語)
-
タスクマネージャーのプロセス...
-
VBAにてTIFFから画像を取込みた...
-
スタティックテキストが表示さ...
-
C#でのbatファイル実行結果取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WaitForSingleObjectの使い方に...
-
VC++スレッドの正しい終了のさ...
-
スレッドの監視方法について
-
スレッドの安全な終了のさせ方
-
スレッドにて同一メモリの書き...
-
Windows上で、シグナル(SIGTERM...
-
スレッドの終了の仕方
-
スレッドの終了はどうやるんで...
-
VB2005 シリアル通信のClose処理
-
マルチスレッドプログラミング...
-
.netアプリへのSendMessageでフ...
-
マルチスレッドについて
-
Linuxでスレッド優先度って変え...
-
Win32APIでのスレッド処理
-
pthread_cond_wait 取りこぼし?
-
LinuxでDoEvents()同等機能
-
C++ GUIのメッセージループ。
-
excelvbaでCreateThreadの動作
-
マルチスレッドの実行順序の制御
-
同一スレッドで、ロックをかけ...
おすすめ情報