Просыпается ли виртуальный поток в том же потоке носителя, в котором он был заблокирован?
Правильно ли я понимаю, что виртуальный поток работает в одном и том же потоке-носителе на протяжении всей своей жизни? Если нет, то мне интересно, нужно ли нам иметь переменные экземпляра как
public class VirtualThreadDemo {
private int disabledUserCount;
void countDisabledUsers() {
while (moreUsers()) {
User user = getNextUserFromDb(); // virtual thread blocks for IO
if (user.isDisabled())
disabledUserCount++; // always happens in same carrier thread?
}
System.out.println(disabledUserCount);
}
}
Нам не нужно декларировать
Если нет, то что, если это локальная переменная?