При чтении с сервера клиентский сокет заблокирован
"main" #1 prio=5 os_prio=0 tid=0x00007f0870008800 nid=0x32da runnable [0x00007f087689c000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
Сначала я думаю, что это состояние BLOCKED, но это состояние RUNNABLE.Из документа я знаю
Поток в состоянии выполнения выполняется на виртуальной машине Java, но он может ожидать других ресурсов от операционной системы, таких как процессор.
Я хочу знать, чего он ждет от системных ресурсов?Поэтому я выполняю приведенную ниже команду
gdb -p 13017
0x00007f087647d2fd in pthread_join () from /lib64/libpthread.so.0
(gdb)
Означает ли это, что теперь она заблокирована в функции pthread_join
?
Функция pthread_join () ожидает завершения потока, указанного потоком.
Тем временем я выполняю # nc server_ip socket_port
для сравнения и выполнения gdb -p nc_pid
0x00007f2846468248 in poll () from /lib64/libc.so.6
(gdb)
Означает ли это, что nc
заблокировано в функции опроса?