Включают ли программные потоки пользовательские потоки? - PullRequest
0 голосов
/ 06 декабря 2018

Редактировать : Для возможной дублированной проблемы, я думаю, что часть, которую я не решил, состоит в том, что слово managed мне все еще не ясно, будет ли оно включать планирование, если так, то ясно, что потоки программного обеспечения не будут включать пользовательские потоки.Но это странно, поскольку моя интуиция заключается в том, что существует только два вида потоков: аппаратные или программные, и пользовательские потоки не принадлежат ни к одному.

Edit2 : кандидатэто может решить мой вопрос в возможно дублированной ссылке: эта , которая утверждает, что она включена, поэтому, если этот ответ без проблем, то я принимаю закрытое.


От этот ответ - программные потоки против аппаратных потоков , программные потоки - это потоки , управляемые ОС.Но я также изучаю другой термин, называемый пользовательскими потоками, то есть потоками, которые не являются потоками ядра, то есть ОС не будет знать об этих потоках.Так программные потоки включают пользовательские потоки?

1 Ответ

0 голосов
/ 06 декабря 2018

Вы правы, есть аппаратные темы.Они напоминают реальные физические аппаратные структуры.Другими словами: аппаратные потоки реализуются с помощью нескольких «копий» всех необходимых «блоков» внутри ЦП, что позволяет ЦП действительно параллельно выполнять несколько «потоков выполнения».

Программное обеспечение потоки "отделены" от базового оборудования.Они представляют собой «виртуальный» ресурс.Операционная система управляет этими виртуальными потоками, и либо использует базовые аппаратные потоки или исключительно для управления потоками "только для программного обеспечения".

Значение: ОС ищетбазовые ЦП разрешают и используют аппаратные потоки n для запуска программных потоков m , о которых он знает.Теоретически, когда n равно 1 (то, что было у нас более 20 лет назад), тогда у вас нет никакого параллелизма, а только планирование на основе временных интервалов.

Ключевая вещь, которую нужно понять: все потоки, которыми управляет ОС, являются «программными» потоками.Как установлено, считать их виртуальным ресурсом.Теперь: есть просто разные типы этого ресурса.Некоторые программные потоки зарезервированы только для использования ядром ОС.Сама ОС использует их, и ни одно пользовательское приложение никогда не увидит их.Но очевидно, что приложения тоже хотят иметь «свои» потоки.Тогда это будут «пользовательские» потоки, так как они создаются по запросу в некотором коде пользовательского пространства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...