Задать вопрос
@WisdomButcher

Многопоточность в Си в ассемблерном исполнении — возможно?

Добрый вечер!
В Си многопоточность.обычно реализована в библиотеке pthreads.h, причём Си можно отлаживать как код на ассемблере. Прочитал в интернете, что ассемблерная программа может выполняться только на одном ядре. Как тогда реализована многопоточность в Си, раз есть эквивалентный код на ассемблере, например, в gnu debugger?
Спасибо.
  • Вопрос задан
  • 522 просмотра
Подписаться 3 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
15432
@15432
Системный программист ^_^
В Си многопоточность.обычно реализована в библиотеке pthreads.h
Многопоточность реализуется операционной системой. pthreads - просто библиотека, чтобы операционной системе сказать, мол, вот тебе отдельный поток для запуска

причём Си можно отлаживать как код на ассемблере
Ну да, Си всегда сначала компилируется в ассемблер, любым дизассемблером готовую программу можно разобрать на кусочки.

Прочитал в интернете, что ассемблерная программа может выполняться только на одном ядре.
Покажите, где такая ерунда написана

Как тогда реализована многопоточность в Си
В Си - просто интерфейс управления многопоточностью. Сама многопоточность - в операционной системе.

раз есть эквивалентный код на ассемблере например, в gnu debugger
Как в Си, так и в ассемблере вы просто увидите "вызвать pthread_create", и всё
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы