Я использую библиотеку (написанную на C), которая не реентерабельна (т.е. ни одна функция в библиотеке не реентерабельна). Предположим, я загрузил библиотеку через System.load, чтобы получить дескриптор «v». Я не могу использовать v в двух потоках из-за проблем повторного входа (пробовал, но бессмысленные результаты). Я мог бы использовать блокировки, но это побеждает любой параллелизм, который я мог бы получить.
Я хотел бы запустить два потока и в каждом потоке загрузить библиотеку, чтобы получить два разных дескриптора (таким образом, есть две копии загруженной библиотеки).
Возможно ли это на Java?
С уважением
Saptarshi