Re[5]: Киллер фича JDK 21 - virtual threads
От: Pavel Dvorkin Россия  
Дата: 08.05.23 13:33
Оценка:
Здравствуйте, ·, Вы писали:

·>Виртуальные треды перешедулятся на реальные треды в момент всяких многопоточных действий, типа locks, yield, sleep и т.п. Если виртуальный тред будет внутри себя крутить вычислительный цикл, то он займёт реальный тред. Т.е. кооперативная многозадачность или асинк с человеческим лицом.


·>Когда в при исполнении кода виртуального треда происходил блокировка/етс — стек сохраняется в куче, и добавляется таск в шедулер на продолжение. Шедулер берёт очередной таск, восстанавливает стек и монтирует его на реальный тред. И так по кругу.

·>Сами стеки — это маленькие кусочки порядка сотни байт.

Можно короче объяснить : если взять Win 16 и добавить работу на нескольких ядрах, то оно и получится. Только там в качестве потоков были задачи.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.