Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
9 / 9 / 0
Регистрация: 22.12.2017
Сообщений: 295

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

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

Студворк — интернет-сервис помощи студентам
Всем привет. Что создается конструктивно в памяти при многопоточности(конкретно при инициализации потока)?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2019, 10:25
Ответы с готовыми решениями:

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

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

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

2
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
31.10.2019, 11:09
Лучший ответ Сообщение было отмечено 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
Сообщений: 295
31.10.2019, 11:32  [ТС]
В Windows, спасибо за наводку, этого достаточно. Хотя вопрос подразумевал более короткого ответа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2019, 11:32
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru