У меня есть блокировка Thread в нативном методе, который, в свою очередь, блокирует и ждет возврата функции linux read
(include <fcntl.h>
):
int n = read(g_fd, dest, len);
где g_fd
является ли файловый дескриптор последовательного порта
В этой ситуации, как "прервать" поток блокировки?
РЕДАКТИРОВАТЬ для кого-то, кто имеет такой жепроблема:
1. Следует избегать бесконечной блокировки ввода-вывода.Нет очевидного способа прервать его
2. Ответ @Rohit Karlupia должен сработать
3. Хакерским способом является совместное использование файлового дескриптора между Java и собственным кодом,как показано в этой статье: http://www.kfu.com/~nsayer/Java/jni-filedesc.html Затем мы можем создавать прерываемые потоковые объекты Java IO с помощью FileDescriptor