Очень новичок в потоках и конструкциях ОС здесь,
было интересно, может ли кто-нибудь понять что-то для меня.
При реализации потоков в C у вас есть доступ к потокам POSIX, является ли поток POSIX потоком уровня ОС? Запуск на уровне ядра?
А в Java при создании и запуске потоков эти потоки пользовательского уровня? Какой уровень доступа мы имеем к конструкциям уровня OS в java? Являются ли семафоры в Java просто заданными в пользовательском пространстве?
Заранее благодарим за любое понимание любого из этих вопросов.
Потоки POSIX - это потоки ядра. Нити ядра - это "нормальные" потоки; вы знаете, используете ли вы пользовательские потоки в C (потому что вам придется писать всю систему потоков).
Потоки Java также являются потоками ядра. В Unix-подобных системах они могут использовать потоки POSIX; в Windows они используют потоки Windows. Можно предположить, что существует JVM для системы без потоков, и она реализует сами темы (как пользовательские потоки).