Възможно ли е да се забави времето във виртуалната машина на Java според използването на процесора чрез модифициране на изходния код на OpenJDK? Имам мрежова симулация (Java до ns-3), която консумира реално време, синхронизирано свободно със стенния часовник. Въпреки това, тъй като изпълнявам толкова много клиенти в симулацията, използването на процесора достига 100% и не се поддържат твърди гаранции за това колко време трябва да отнеме обработката на събитията в симулатора (т.е. голямо количество свръхкъсни събития). Следователно симулацията достига върха си при около 40 възела, когато има много мрежов трафик, и дори тогава е малко съмнително. Идеалното решение би било да забавите времето според процесора, но не съм сигурен как да направя това успешно. По-малко решение е просто да забавите времето с няколко пъти (времеви лещи?).
Ако някой може да даде някакви насоки, изходният код за въпросния файл (за Windows) е на http://pastebin.com/RSQpCdbD. Опитах се да модифицирам някои части от файла, но резултатите ми не бяха особено успешни.
Благодаря предварително,
Крис