![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
LeMoH |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.8.2008 Репутация: нет Всего: нет |
Доброго времени суток.
Есть класс (LogParser) который реализует парсинг больших текстовых файлов ~100мб, он выполнен в виде отдельного потока, и есть класс (DataBaseConnector) который добавляет разпарсеные записи в бд В случае когда набирается достаточное количество записей в листе structures, я создаю новый поток в лице DataBaseConnector-а, передаю ему этот лист, и декрементирую переменную DBThreads, которую я считаю счётчиком "свободных" потоков LogParser
в основном потоке DataBaseConnector-а как видно я вызываю метод который добавляет записи в бд и инкрементирует счётчик "свободных" потоков DataBaseConnector
Собственно вопрос вот в чём, при попытке использовать wait() без параметра, и вызывать в DataBaseConnector-е в synchronized блоке LogParser.DBThreads.notify() вываливались ексепшены "java.lang.IllegalMonitorStateException", у меня такое чувство что я чего то непонимаю, поэтому был бы благодарен за объяснение происходящего. P.S. ну и впринципе хотелось бы услышать мнение о таком подходе, возможно какие то замечания или советы |
||||
|
|||||
shorewall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
DBThreads - экземпляр класса-оболочки над примитивным типом short.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |