- PR -

マルチスレッドプログラミングについて

1
投稿者投稿内容
freebird
常連さん
会議室デビュー日: 2006/11/07
投稿数: 22
投稿日時: 2006-11-07 19:35
こんばんは。

コンパイラとしてVisualC++.NETを用いて、C言語にてソケットプログラミングを行っています。アプリは、コンソールアプリケーションです。

送信端末と受信端末があり、送信端末は受信端末へパケットを送信し、受信端末は受信したパケットを再度送信端末へ送信しています。

これらから、送信端末はthreadAでパケットの送信を行ない、threadBでパケットを受信しています。

[送信端末の動作概要]
main内で、_beginthreadexを用いてthreadAとthreadBを生成し、WaitForSingleObject関数により子スレッドを監視。

threadA:パケット送信
threadB:パケット受信

[質問内容]
threadAで100パケット送信後、threadAを一時停止(待機)し、threadBの処理を行い、threadBの処理が終了したら一時停止中のthreadAを再開させ、かつthreadBも起動させる方法は可能でしょうか?

よろしくお願いいたします。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-11-07 20:38
引用:

threadAで100パケット送信後、threadAを一時停止(待機)し、threadBの処理を行い、threadBの処理が終了したら一時停止中のthreadAを再開させ、かつthreadBも起動させる方法は可能でしょうか?



可能でしょう。

CreateEvent() 辺りを調べてみると良いと思います。

スレッドを扱う場合、イベントやミューテックスなどの同期オブジェクトについて学んでおくべきです。
1

スキルアップ/キャリアアップ(JOB@IT)