Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
vankleef |
25.11.2010, 1:18
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1
|
Имеется простая программа-пример:
Компилирую с ключем -lpthread. При выводе результата получается следующее: сначала выводится результат одного потока, потом-второго, а не вперемешку. Как можно сделать чтобы один поток дал процессорное время другому? Компилировал подобный код в уиндовсе с помощью gcc там вывод нормальный-вперемешку. |
|
|
|
|
Iron Bug |
25.11.2010, 7:41
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12
|
любое условие в функцию потоков, чтобы они фактически стартовали одновременно. это может быть ожидание какого-нибудь события, счётчик или семафор. неважно.
|
|
|
|
|
igor_bogomolov |
25.11.2010, 9:56
Сообщение
#3
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29
|
Цитата(vankleef @ 25.11.2010, 1:18) Link При выводе результата получается следующее: сначала выводится результат одного потока, потом-второго, а не вперемешку. Так ты сделай не 100 повторений, а 100000 и увидишь, что они вперемешку.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 17.12.2025, 13:38 |