12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
||||||
1 | ||||||
Разбить программу на потоки09.09.2010, 01:44. Показов 9780. Ответов 24
Метки нет (Все метки)
Помогите пожалуйста разбить программу на потоки. Всего у нас три суммы в программе, т.е. должно быть три потока, которые в итоге выводят конечный результат. Проще говоря программа должна быть параллельной и иметь три потока. Вот я начал пробовать, но что-то не выходит.
0
|
09.09.2010, 01:44 | |
Ответы с готовыми решениями:
24
Разбить на потоки Разбить коллекция на потоки(Многопоточность) Сделать поиск с клавиатуры и разбить на потоки Пытаюсь разбить на потоки алгоритм быстрой сортировки |
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
||||||
09.09.2010, 12:17 [ТС] | 3 | |||||
0
|
09.09.2010, 13:01 | 4 |
Реализация pthread есть и под windows. А собсно почему бы и нет ?
Добавлено через 6 минут Vexel, Вы не закрыли ф-цию func_myThread. Обьявления функции (main) внутри другой запрещены.
0
|
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
|
09.09.2010, 18:09 [ТС] | 5 |
Т.е строки pthread_t MyThread; pthread_create(&MyThread,NULL,func_MyThread,NULL); и pthread_join(MyThread,NULL); должны до мэина стоять ?
0
|
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
|
09.09.2010, 18:28 [ТС] | 7 |
0
|
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
||||||
09.09.2010, 18:41 [ТС] | 9 | |||||
Ну можно их объявить например так:
[Linker error] undefined reference to `_imp__pthread_create' [Linker error] undefined reference to `_imp__pthread_join' C:\Program Files\Dev-Cpp\Makefile.win[Build Error] [Project1.exe] Error 1
0
|
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
||||||
09.09.2010, 18:58 [ТС] | 11 | |||||
Можете посмотреть, правильно ли я сделал ? Создал ли я три потока, которые общий результат выдают ? Программа дает верный результат!
0
|
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
||||||
09.09.2010, 19:19 [ТС] | 13 | |||||
Может так:
0
|
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
|
09.09.2010, 19:24 [ТС] | 15 |
Тогда я не знаю как реализовать данную программу с помощью потоков. Идей вообще нету никаких.
0
|
3953 / 1808 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||
09.09.2010, 19:30 | 17 | |||||
Vexel, возможно, вам поможет мой простенький пример:
0
|
12 / 12 / 2
Регистрация: 18.10.2009
Сообщений: 158
|
|
09.09.2010, 19:32 [ТС] | 18 |
В общем программа должна считать сумму. Всего в программе три суммы, для каждой суммы должен быть свой поток! Т.е. сумма считаться не последовательно а параллельно должна и в конце все результаты трех сумм должны быть объеденены в один! В итоге должно получиться число 5596.
0
|
3953 / 1808 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
09.09.2010, 19:35 | 20 |
niXman, полагаю, что там нет ничего сверхсложного (заметьте, я даже делал проверку на завершение вычислений не через события, а обычными булевыми переменными) ... к тому же, код ему прийдётся модифицировать. Думаю, всё сразу станет понятно.
0
|
09.09.2010, 19:35 | |
09.09.2010, 19:35 | |
Помогаю со студенческими работами здесь
20
Найти слова в которых нет повторяющихся букв. Разбить на потоки. Правильно ли я разбил программу на потоки? Оформить программу через потоки Как разбить 1 программу на 2? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |