Eclipse には次のチェック ボックスがあります。
設定 -> 一般 -> ワークスペース -> ネイティブ フックまたはポーリングを使用して更新
Eclipse のドキュメントには次のように書かれています。
このオプションをオンにすると、ネイティブの更新プロバイダー (Windows の場合) またはポーリング メカニズムを使用して、ワークスペース リソースがファイル システム内の対応するリソースと自動的に同期されます。
ドキュメントとチェック ボックスの説明から、Eclipse がファイルの変更に関する通知を取得するために使用する、ある種の OS フックがあることが示唆されます。そして、この機能はポーリングを使用して Windows 以外の OS でエミュレートされているようです。
私の質問は次のとおりです。
- これは本当に Eclipse が行っていることですか? このオプションをチェックすることで、スレッドがファイルシステムを常にチェックするようになるかどうかを知りたいです。私のファイルは外部から変更されますが、1 日に 4 回ほど変更されます。この機能をプログラマーに適切に見せるには、ポーリングでファイル システムを 1 分に 1 回程度チェックする必要があります。
- それは本当にWindowsでしか機能しませんか?Linux で Eclipse を使用している場合、必ずしも Eclipse がポーリング モードになることを意味しますか?
- 最後に、さらに重要なことは、Eclipse がそれを行う場合、どのように行うのでしょうか? JNI?