Приветствую!
В результате изменений каденсер так и не заработал мало того он начал выдавать критические ошибки. Любые попытки привести многопоточность в чувство приводили к ошибками и вот случайно я набрел на просторах инета на эту статью. И еще по цепочке на десяток с других.
Для тех кто не в курсе, сцена на android на данный момент нативно-ненативная. Это значит что инициализация контекста и управление им происходит в JAVA посредством вызовов команд с использованием JNI из lazarusа(Native). Отсюда возможны и баги ибо как оказалось JNI имеет свою специфику но обладает воистину большими возможностями.
Каждый указатель к JNIEnv в одном потоке может быт уникален и обращение к объектам java через него в паралельном потоке может вызвать ошибку ибо объект не существует. Мало того нужно привязать привязывать "
На практике же вызов команды
Вобщем все эти ошибки меня изрядно достали и я решил взять небольшой отпуск на недельку-две, попутно собирая теоретическую информацию.
В результате изменений каденсер так и не заработал мало того он начал выдавать критические ошибки. Любые попытки привести многопоточность в чувство приводили к ошибками и вот случайно я набрел на просторах инета на эту статью. И еще по цепочке на десяток с других.
Для тех кто не в курсе, сцена на android на данный момент нативно-ненативная. Это значит что инициализация контекста и управление им происходит в JAVA посредством вызовов команд с использованием JNI из lazarusа(Native). Отсюда возможны и баги ибо как оказалось JNI имеет свою специфику но обладает воистину большими возможностями.
Каждый указатель к JNIEnv в одном потоке может быт уникален и обращение к объектам java через него в паралельном потоке может вызвать ошибку ибо объект не существует. Мало того нужно привязать привязывать "
AttachCurrentThread"
паралельный поток к виртуальной java машине что бы можно было производить какие либо операции из паралельного потока.На практике же вызов команды
AttachCurrentThread обернулся критической ошибкой, такое подозрение что указатель на виртуальную Java машину равен = nil
или же загвоздка в чем то другом. Вобщем все эти ошибки меня изрядно достали и я решил взять небольшой отпуск на недельку-две, попутно собирая теоретическую информацию.