私はC#/ directxゲームクライアントのJavaへの移植に取り組んでいます。これにより、C#をいくつか学ぶことができ(私は完全に慣れているので)、その間にJavaOpenGLエンジンに関する知識を向上させることができます。
次のようなものに遭遇したとき:
Monitor.Enter(preloadDictionary);
try {
foreach (PreloadEntry entry in preloadDictionary.Values) {
if (entry.loaded) continue;
return entry;
}
} finally {
Monitor.Exit(preloadDictionary);
}
次のようなものだと思いますか?
syncronized(preloadDictionary) {
[...]
}
そして次の場合:
Monitor.Enter(worldServerMap);
try {
worldServerMap[rv.WorldName] = entry;
Monitor.PulseAll(worldServerMap);
} finally {
Monitor.Exit(worldServerMap);
}
リソースを待機しているすべてのスレッドをウェイクアップするための追加PulseAll()
のようなものですか?notifyAll()
(しかし、コード内で呼び出される場所が見つかりませんでしたMonitor.Wait()
)。