データの送信と取得を担当する集中型ソケットクラスがあります。私には2つのクラスがあります:
- 入力ストリームをリッスンするものと
- それに書き込みの世話をするもう1つ。
無限ループで実行されているリスニングを実行してから、メッセージを処理します。同期の場合、サーバーから応答を受信したら、読み取りをブロックしてこれらの値をリセットします。
今、私は無気力で立ち往生しています。私のサービスには3つの方法があります。
- 何かを得ます
- readSomething
- 何か言って。
私getSomething
の場合、提供されたブールフラグに基づいて非同期機能を実装したいと思います。アプリが起動すると、両方のスレッドも起動し、同時にリクエストを送信します。
たとえば、readSomething
最初に、次にgetSomething
戻り値を取得しますがreadSomething
、getSomething
これは私が望むものではなくgetSomething
、しばらくすると出力が来ることをログで確認できます。
Futureオブジェクトは、独自のスレッドで実行される新しいタスクを送信する必要があるようですが、このアプリを設計した方法では、新しいスレッドを作成できません。フローチャートなどのように、この無秩序なものをどのように処理する必要があるかについて、誰かが私に洞察を与えることができますか?