Здравствуйте, Евгений Музыченко, Вы писали:
S>>Собственно, из-за этого в процессах появлись потоки. На уровне потоков все шустрее. ЕМ>Там разница лишь в том, что процесс выделен в качестве контейнера для потоков. Классическая модель UNIX просто совмещает процесс, как контейнер, с единственным потоком в нем. В отношении планирования/диспетчеризации никакой разницы нет.
При переключение потоков контекст процесса не переключается, в отличие переключения процессов.
Если об этом речь.
S>>как оно на уровне процессов, а не потоков я не в курсе. ЕМ>Если мы про винду, то в ней в планировании участвуют исключительно потоки. Процесс представляет собой лишь "расширенный контекст" (адресное пространство, ресурсы, общие свойства и т.п.).
Ну когда-то же происходит переключение процессов, на поток из другого процесса? Вот тогда это долго.
S>>Возможно дейстивительно поэтому в ядре lock-free и не взлетает, т.к. на уровне процессов это крайне сложно, если вообще возможно. ЕМ>В смысле? Что именно "не взлетает" и "крайне сложно"?
lock-free алгоритмы в ядре. Легко сделать сильно неочевидный баг. В ядрах все должно быть максимально просто.