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

Потоки

18.12.2018, 15:33. Показов 604. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
int counter=9000;
DWORD WINAPI ThereadA(LPVOID p){
for (int i=0; i<10000; i++) counter ++;}
DWORD WINAPI ThereadB (LPVOID p) {
for(int i=0;i<10000;i++) counter—;}
int main()
{
HANDLE hThdA=CreateTheread(NULL, 65535, TheredA, 0,0 NULL);
HANDLE hThdB=CreateTheread(NULL,65535, ThereaB,0,0, NULL);
WaitForSingleObject(hThdA,INFINITE);
WaitForSingleObject(hThdB, INFINITE);//ожидание завершения
printf(“d\n”, counter);
Код, который создаёт два рабочих потока и ожидает их завершения. Переменная counter общая для двух потоков. Чему будет равно значение переменной после завершения программы.
Помогите, пожалуйста. Я думал, 9001, но преподаватель сказал, не правилтно

Добавлено через 2 часа 16 минут
помогите, пожалуйста
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.12.2018, 15:33
Ответы с готовыми решениями:

Потоки
вобщем есть 3 файла с каждого считуютса даные в 4вертый (3мя потоками)как зделать чтоб они считывались по очереди сначала 2байта с 1 потом...

Потоки
Здравствуйте, у меня такой вопрос почему в данной проге цикл в потоках иногда срабатывает несколько раз игнорируюя WaitSingleObject?И такое...

Потоки
Нашел пример кода. Но не пойму одну вещь. В случае, если создать поток в приостановленном состоянии, а потом его запустить, то функция,...

8
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
18.12.2018, 15:41
Цитата Сообщение от dreems Посмотреть сообщение
Чему будет равно значение переменной после завершения программы.
Так как отсуствует синхронизация доступа, значение переменной не определено и может быть разным от запуска к запуску.
Цитата Сообщение от dreems Посмотреть сообщение
Я думал, 9001
А ты запускал? Почему нет?
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 216
18.12.2018, 15:46  [ТС]
krolligator, в задании сказано, что переменная counter является доступной для обоих потоков. И оба потока выполняют действия над этой переменной.
Не запускал, потому что студия долго обновляется. А мне срочно надо
0
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
18.12.2018, 15:51
Цитата Сообщение от dreems Посмотреть сообщение
в задании сказано, что переменная counter является доступной для обоих потоков. И оба потока выполняют действия над этой переменной.
Я это и так в коде вижу. При чем тут что она общая? Я говорю про несинхронизированный доступ.
Цитата Сообщение от dreems Посмотреть сообщение
Не запускал, потому что студия долго обновляется.
Отличное оправдание. Без обновления этот код тоже будет компилироваться и запускаться.
Цитата Сообщение от dreems Посмотреть сообщение
А мне срочно надо
Так, ответ у тебя уже есть.
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 216
18.12.2018, 15:52  [ТС]
krolligator, здесь должен быть числовой ответ, преподаватель сказал��
0
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
18.12.2018, 15:53
Цитата Сообщение от dreems Посмотреть сообщение
здесь должен быть числовой ответ, преподаватель сказал
Удачи тогда, че...
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 216
18.12.2018, 15:58  [ТС]
Вопрос снят. Код запустился
0
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
18.12.2018, 16:00
Цитата Сообщение от dreems Посмотреть сообщение
Вопрос снят. Код запустился
Запусти его раз 20. Если ты считаешь, что овтет 9000, то это не так. И лучше в свой цикл добавь лишний нолик в i<100000;, чтобы ты понял, что для этого кода нет и не может быть числового ответа.
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 216
18.12.2018, 16:05  [ТС]
krolligator, понял. Спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2018, 16:05
Помогаю со студенческими работами здесь

Потоки
Помогите создать проект Win32 с потоками, в Microsoft Visual 2010 C++. Если можно с комментариями, как и что происходит??

потоки
Люди,подскажите кто знает! #include&lt;windows.h&gt; #include&lt;iostream&gt; using namespace std; HANDLE hm; const int N=5; int...

Потоки
Всем привет, возникла проблема при создании потока, или не выполнении им функции, сам пока непонял))) Прошу помощи, проект нормально...

потоки
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;Windows.h&gt; #include &lt;queue&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include...

Потоки
Здравствуйте. Начал изучать потоки и появилась необходимость передать результат работы потока в &quot;основной поток&quot;. Для этого...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru