Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
9 / 9 / 0
Регистрация: 22.12.2017
Сообщений: 283
1

Многопоточность [Теория]

31.10.2019, 10:25. Показов 1398. Ответов 2
Метки нет (Все метки)

Всем привет. Что создается конструктивно в памяти при многопоточности(конкретно при инициализации потока)?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2019, 10:25
Ответы с готовыми решениями:

C++ Многопоточность
Как сделать так, чтобы эта программа заработала? А то она мне вот что пишет: g++ test.cpp -o...

Многопоточность
Добрый вечер. Назрела тут проблема с многопоточностью. Вкратце: Есть программа, которая считывает...

Многопоточность
Товарищи! Создаю 23 потока. вот так: ff1 = new f1(false); ff1->Priority = tpLower;...

Многопоточность
Здравсвуйте программисты! Дали лабораторную написать по многопоточности, никогда сталкивался с...

2
426 / 152 / 37
Регистрация: 18.08.2012
Сообщений: 752
31.10.2019, 11:09 2
Лучший ответ Сообщение было отмечено S_el как решение

Решение

что за вопрос?
вам всю теорию в рамках форумных комментов изложить?
И ещё вопрос. О какой операционной системе мы говорим? О Windows?
Почитайте Марка Руссиновича "Внутреннее устройство Windows"
кажется, глава №6 Процессы, потоки и задания

...
Рождение потока

Жизненный цикл потока начинается при его создании программой. Запрос на его создание в конечном счете поступает исполнительной системе Windows, где диспетчер процессов выделяет память для объекта «поток» и вызывает ядро для инициализации блока потока ядра. Ниже перечислены основные этапы создания потока Windows-функцией CreateThread (которая находится в Kernel32.dll).

1. CreateThread создает стек пользовательского режима в адресном пространстве процесса.

2. CreateThread инициализирует аппаратный контекст потока, специфичный для конкретной архитектуры процессора. (Подробнее о блоке контекста потока см. раздел справочной документации Windows API по структуре CONTEXT.)

3. Для создания объекта «поток» исполнительной системы вызывается Nt-CreateThread. Он создается в приостановленном состоянии. Описание операций, выполняемых NtCreateThread, см. в разделе «Что делает функция CreateProcess» (этапы 3 и 6) ранее в этой главе.

4. CreateThread уведомляет подсистему Windows о создании нового потока, и та выполняет некоторые подготовительные операции.

5. Вызвавшему коду возвращаются описатель и идентификатор потока (сгенерированный на этапе 3).

6. Выполнение потока возобновляется, и ему может быть выделено процессорное время, если только он не был создан с флагом CREATE_SUSPENDED. Перед вызовом по пользовательскому стартовому адресу поток выполняет операции, описанные в разделе «Этап 3: создание первичного потока, его стека и контекста» ранее в этой главе.
...
и т. д.
Конкретно, сама многопоточность не является чем-то сложным. Сложным является обеспечить синхронизацию при многопоточности. И опять же, синхронизация бывает тоже: блокирующей и неблокирующей, а равно, как и методы для достижения синхронизации - весьма различны.
2
9 / 9 / 0
Регистрация: 22.12.2017
Сообщений: 283
31.10.2019, 11:32  [ТС] 3
В Windows, спасибо за наводку, этого достаточно. Хотя вопрос подразумевал более короткого ответа.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2019, 11:32

Многопоточность
Есть такая трудность: 2 потока, первый считает, а второй каждом 10мс такте пишет в базу данных то...

Многопоточность
Здрасьте! Люди, на этом форуме нашел ценный ответ по реализации мультипотоковых программах....

Многопоточность
Имеется приложение на Си в VS 2008. Приложение может создать большое количество экземпляров...

Многопоточность
Мне нужно сделать класс, от которого можно наследовать ещё какой-нибудь класс с какой-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.