Я использую make для извлечения некоторой информации, касающейся некоторых программ на C. Я завершаю компиляцию с помощью сценария bash, который запускает мою Java-программу, а затем gcc. По сути, я делаю:
Код: Выделить всё
make CC=~/my_script.sh
Если бы я хорошо понимал, у меня было бы столько же экземпляров JVM, сколько и заданий, верно?
Дело в том, что я использую sqlite-jdb для сбора некоторой информации. Итак, проблема в том, как избежать одновременной попытки нескольких процессов изменить базу данных?
Похоже, что блокировка sqlite зависит от jvm (я имею в виду, что одну блокировку можно «видеть» только внутри блокирующего jvm), и это то же самое для RandomAccessFile.lock().
Есть ли у вас идеи, как это сделать? (создание файла tmp, а затем проверка его существования или отсутствия кажется одной из возможностей, но может быть дорогостоящей. Таблица блокировки в dB? )
спасибо
Подробнее здесь: https://stackoverflow.com/questions/145 ... everal-jvm
Мобильная версия