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