1 / 1 / 1
Регистрация: 27.08.2016
Сообщений: 27
|
|||||||||||
1 | |||||||||||
Многопоточность: задача об обедающих философах03.11.2019, 20:05. Показов 4480. Ответов 1
Метки нет (Все метки)
Доброго времени суток!
Нужно перевести код с С++ с использованием библиотеки <thread> и <mutex> на WinAPI. Программа представляет собой решение задачи обедающих философов, вот код с библиотеками:
1) Как передать в функцию Run - int (в строке hThreads[i] = CreateThread(NULL, 0, &Run, i, 0, NULL) 2) Правильно ли я реализовал функцию pickUp? 3) Правильно ли реализовал функцию Run?
0
|
03.11.2019, 20:05 | |
Ответы с готовыми решениями:
1
Задача об обедающих философах Задача о философах Ординарная Сеть Петри для задачи об "обедающих философах" Многопоточность, задача об обедающих философах (семафоры) |
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
03.11.2019, 20:21 | 2 | |||||
Сообщение было отмечено Garfield01 как решение
Решение
Вместо std::mutex нужно использовать Critical Sections
Добавлено через 1 минуту
CreateThread(NULL, 0, &Run, (LPVOID)i, 0, NULL) Добавлено через 2 минуты Соответственно, здесь должно быть TryEnterCriticalSection, вместо try_lock Добавлено через 3 минуты А так, да, правильно
1
|
03.11.2019, 20:21 | |
03.11.2019, 20:21 | |
Помогаю со студенческими работами здесь
2
Задача об обедающих философах Задача об обедающих философах [C++|Linux|ARM Mitel5000] Задача о философах с использованием событий задача про обедающих философов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |