Здравствуйте, aefimov, Вы писали:
ВП>>Я использую синхронизацию по классу, чтобы организовать очередь обращений клоггеру — потоки получают временой штамп, строку и объект, пишеут в StringBuffer-ы, результат своей работы подают "на конвейер" в синхронный метод, который:
ВП>>[ul]
ВП>>[li]Пишет строку в файл.[/li]
ВП>>[li]Пишет её в консоль[/li]
ВП>>[li]Отправляет её в графический логгер (swing-компонент).[/li]
ВП>>[/ul]
ВП>>Если бы писать в файл например не каждый раз а 1-2 раза в секунду — это ускорит работу но об "ошибке перед крахом" инфа будет утерена...
A>Яб наверное использовал апендеры для Log4J для этих целей... Но вообще, идея правильная. Только я, наверное, сделал бы тред отдельный который смотрит на очередь сообщений. Берет сообщение и все апендеры, последовательно передает сообщение каждому апендеру. А каждый апендер уже фигачит это куда ему хочеться — в базу, в файл и т.д. Ну сообственно Log4J так и работает.
Эээ.... А какая разница, очередь чего: сообщений в конвейере, или потоков к синхронному методу? А такая, что за явной очередью надо ухаживать, появляется промежуточный шаг (взять всю очередь), и мне думается, лучше пусть ось занимается синхронизацией, чем я

... << RSDN@Home 1.1.4 beta 3 rev. 185>> @@J[getWorld.ApplyCheats(unfair.Cheats.IDDQD_AND_IDKFA]