私の状況:
同時に 2 つのスレッドを実行しています。一方のスレッドは、ポートを使用するポイントに到達する前に特定の数のステップを実行する、もう一方のスレッドによってポートが使用されるまで待機したいと考えています。
私がコミットしなければならないもう 1 つの制限は、API を使用する JNI ネイティブ c コードの場合と同様に、ポートを開く前に手順を実行するスレッドが他のスレッドと簡単に通信できないことです (うまくいけば、問題には適用されません。大きなメソッドを実行する)
質問:
ポートが使用されるまでJavaが待機できる方法はありますか? 私はstackoverflowのソリューションを見てきましたが、いくつかの問題があります:
- 新しいソケットを作成するとポートが使用され、他のスレッドはこのソケットにアクセスできなくなります。
- netstat パーサーを使用すると、プロジェクトから移植性が失われます。
スタックオーバーフローの回答を見落としている場合は、検索できないなどの理由で叱ってください。何でも役に立ちます。