私はJavaでMUDに取り組んでいます。プレーヤーの入力をティックごとに読み取りますが、Scannerブロッキング操作を使用するものを使用しています。ノンブロッキング入力が欲しい。
nioクラスを持つパッケージを見てきましたがSelector、 に関してそれを使用する方法がわかりませんSystem.in。サーバーを稼働させたら間違いなく必要になると思いますが、今のところすべてオフラインです。
からメインクラスを拡張してAppletオーバーライドしようとしましkeyDownたが、最初の入力の後に入力が受け入れられなくなっただけです。確かに、もう何もブロックしていませんでしたが、それ以上の入力はありませんでした。keyDown二度と呼ばれなかったと思います。
スレッドがブロック操作を実行している場合でも、スレッドが中断される可能性がありますか?
この問題についての洞察に感謝します。