The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Google начал открытие реализации модели потоков M:N, opennews (??), 28-Июл-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


58. "Google начал открытие реализации модели потоков M:N"  +2 +/
Сообщение от Нанобот (ok), 28-Июл-20, 17:12 
Если я правильно понимаю, в винде такое тоже есть и называется fibers (https://docs.microsoft.com/en-us/windows/win32/procthread/fi...). Появилось в хр и я ни разу не видел, чтобы это где-то использовали. Что-то мне кажется, с линуксной реализацией будет так же
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

65. "Google начал открытие реализации модели потоков M:N"  +1 +/
Сообщение от rshadow (ok), 28-Июл-20, 17:37 
Да, причем судя по описанию задумано нормально. Создать потоки для утилизации всех ядер и в каждом крутить свой цикл для утилизации ядра.
Используется редко т.к. надо заново учится программировать на событийных машинах. Намного проще когда у тебя есть простыня последовательно выполняемого кода. Без всяких подводных камней.
Ответить | Правка | Наверх | Cообщить модератору

69. "Google начал открытие реализации модели потоков M:N"  +/
Сообщение от anonymous yet another (?), 28-Июл-20, 18:05 
> Создать потоки для утилизации всех ядер и в каждом крутить свой цикл для утилизации ядра.

Если задача --- именно утилизировать ядро, то так, наверное, и надо.

Но можно было бы и что-то полезное делать...

Ответить | Правка | Наверх | Cообщить модератору

68. "Google начал открытие реализации модели потоков M:N"  +2 +/
Сообщение от Аноним (68), 28-Июл-20, 17:55 
Fibers, оно же coroutines - это другое. Грубо говоря, это кооперативная многозадачность, т.е. несколько задач, выполняющиеся в *одном потоке* могут переключаться между собой. Из этого вытекают и основные болячки этого подхода, как неработающий TLS, проблемы с блокировкой потока и проблемы с отладкой.

В сабже речь идёт о реальных потоках, которые благодаря FUTEX_SWAP получают возможность быстро переключаться между собой. При этом, будучи настоящими потоками, для них работают TLS, их можно блокировать и они могут выполняться параллельно, если есть такая возможность.

По сути, новость вводит в заблуждение, т.к. модель потоков в Linux не меняется. Просто добавляется еще одна операция, которая позволяет повысить эффективность переключения между потоками.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

151. "Google начал открытие реализации модели потоков M:N"  +/
Сообщение от Яков (?), 30-Июл-20, 11:31 
Ну, вместо TLS можно использовать FLS, ино дело, что сразу теряешь языковую поддержку - __declspec(thread) и thread_local сразу становятся не про нас, ну и библиотечные вызовы, где TLS используются (иногда неявно - см. errno) идут лесом.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру