スレッド使用? – プログラミング – Home

通知
すべてクリア

[解決済] スレッド使用?


とこまん
 とこまん
(@とこまん)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

こんにちは。

以下の事をやりたいのでアドバイスを頂ければと思います。

例えば・・・
A画面からボタン1でA1画面をモードレスで表示。
更にA画面からボタン2でA2画面をモードレスで表示。

A1画面でボタンXを押下して、サーバにある電文を送信。
サーバより応答が返ってくるまで、ボタンXはマスク。

ほとんど同時に
A2画面でボタンYを押下して、サーバにある電文を送信。
サーバより応答が返ってくるまで、ボタンYはマスク。

この場合、スレッドを使用した方がよろしいのでしょうか?

#以前、これらの処理に関して、ソケットまわりの質問を
 させて頂いた事はあります。

ご教授願います。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> この場合、スレッドを使用した方がよろしいのでしょうか?

他に思いつかないなら、やってみては?
bestかどうかはcase-by-caseだろうけど、betterな解には違いないと思う。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

ソケットの受信イベントを使えば、
上記処理で並行して実行しなければならない部分は無いようにも見えます。


返信引用
とこまん
 とこまん
(@とこまん)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

επιστημηさん、dairygoodsさん 有難うございました。

いろいろ試して考えてみます。


返信引用
とこまん
 とこまん
(@とこまん)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

すみません、再度、聞きたい事が・・・

MSDN ライブラリ

Windows ソケット : ブロッキング を見ますと

32 ビットのオペレーティング システムでは、ソケットを個別にワーカー スレッドに収容でき
ます。

との一文があります。
これって具体的にどういう事を言ってるのでしょうか?
今回、私がやりたい事を実現するカギになるのかなって思ってるんです。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

>32 ビットのオペレーティング システムでは、ソケットを個別に
>ワーカー スレッドに収容できます。

この文自体はちょっと意味不明な表現ですが、
これに続く文章が具体的な解説だとおもいます。


返信引用
汎
 汎
(@汎)
ゲスト
結合: 22年前
投稿: 43
 

たとえばConnect文を発行したとき
コネクトが完了するまで返ってこないのがブロックモードの動作です。

この場合、関数の内部で待ってしまうので、メインスレッドでこの関数を発行すると、
メッセージがくるまですべての処理が止まってしまいます。

これを別スレッドで動作させれば、そのスレッドは処理が終わるまで待てばよいだけですから簡
単につくれますよね。
この文章は、ソケット関係のクラスは CDCクラスなどと違い、メインスレッド以外でも動作す
るようにつくられているので、スレッドを分けると簡単につくれますよ。と、いうことをいって
います。

だたセカンダリスレッドでの動作にはバグがありまして、
スタティックリンクを行うばあいは、Knowledge Base J045480 を参照してください。

ソケット通信用のユーザインタフェーススレッドを用意して処理させるのが、一番きれいにでき
ると思います。


返信引用
とこまん
 とこまん
(@とこまん)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

dairygoods さん
汎 さん

ありがとうございました。
おかげさまで段々理解できてきた気がしてきました。
チャレンジしてみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました