История изменений
Исправление bugfixer, (текущая версия) :
Попробуй написать подобный код и посмотри.
Начнём с того что в обозримом будущем конкретно мне это вряд-ли понадобится. Специфика софта с которым мне приходится иметь дело состоит в том что задачи делятся на «это нужно сделать прям здесь и сейчас», и «всё остальное» (в основном IO) что отправляется на обработку в единственный background thread. И там где нужно «здесь и сейчас» мы не гнушаемся ничем, включая busy-wait loops, и прибиванием threads гвоздями к изолированным ядрам.
Я попробовал и еще ниразу не получил результат не по порядку.
Я даже не знаю - вы или счастливчик, или «так получилось». При любом раскладе - это не доказывает ничего. В лучшем случае - fairness обеспечивается ядром, в худшем - вы залетаете как минимум на O(N^2) и неконтролируемые задержки.
Исходная версия bugfixer, :
Попробуй написать подобный код и посмотри.
Начнём с того что в обозримом будущем конкретно мне это вряд-ли понадобится. Специфика софта с которым мне приходится иметь дело состоит в том что задачи делятся на «это нужно сделать прям здесь и сейчас», и «всё остальное» (в основном IO) что отправляется на обработку в единственный background thread. И там где нужно «здесь и сейчас» мы не гнушаемся ничем, включая busy-wait loops, и прививанием threads гвоздями к изолированным ядрам.
Я попробовал и еще ниразу не получил результат не по порядку.
Я даже не знаю - вы или счастливчик, или «так получилось». При любом раскладе - это не доказывает ничего. В лучшем случае - fairness обеспечивается ядром, в худшем - вы залетаете как минимум на O(N^2) и неконтролируемые задержки.