Форум программистов, компьютерный форум CyberForum.ru

Как аннулироват потоки, которые заблокированы по перменной условия (pthread)? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Есть 4 потока. После осуществления блокировки барьером, 3 куда-то деваются, куда? (pthreads) http://www.cyberforum.ru/cpp/thread444183.html
Друзья! Как мог упростил код, вот суть В цикле создаются 4 вспомогательных потока, кадый из которых в цикле же 2 раза выводит свой TID. После первого вывода TIDа каждым потоком срабатывает блокировка барьером. Ну то есть свсе потоки по разу выведут свой TID и ждут друг друга. После того, как все собрались, в вызывающий поток отправляется сигнал типа:"Мы собрались" (потоки пока не двигаются)....
C++ Внедрение мультиплеера C++ Привет дорогие форумчане. Возникла задача сделать мультиплеер для игры(исходных кодов которой я не имею) . Разбил на задачки и вот одна из них. Первая задача это перемещение игроков. вот моя идея. Нужно получить координаты одного игрока(P1) (x,y,z) передать на сервер,сервер передает всем остальным игрокам координаты P1(x,y,z). с этим я разобрался. теперь вопрос в другом ,как обработать... http://www.cyberforum.ru/cpp/thread443994.html
Графический интерфейс приложений на C? C++
Как сделать графический интерфейс приложения под Linux написанного на C?
C++ Ненулевая масса статического объекта в Box2D
Собственно как реализовать сабж?
C++ callback функция http://www.cyberforum.ru/cpp/thread443741.html
Здраствуйте!!! Занимаюсь разработкой снифера под DVB-карту. Пытаюсь получить MPEG-поток. Проблема заключается в том, что необходимо фрагментировать поток. При вызове функции установки сигнала вызывается callback-функция, которая записывает поток в файл. Как досрочно выйти из callback-функции. Она полностью захватывает поток и его нельзя фрагментировать. Кто знает, напишите свои...
C++ Использование C++ кода внутри программы на C: какие есть варианты? Есть программа на C++, и в ней кое-какие нужные функции, которые хотелось бы использовать в программе на C. Переписывать заново функции с С++ на С не хочется, какие есть альтернативные пути решения? С точки зрения дизайна кода звучит это довольно дико, обычно всё наоборот. Может, есть какие-то флаги для линкера, чтобы он мог слинковать две единицы трансляции как надо? подробнее

Показать сообщение отдельно
retmas
Жарю без масла
841 / 723 / 157
Регистрация: 13.01.2012
Сообщений: 1,666
11.02.2012, 18:31     Как аннулироват потоки, которые заблокированы по перменной условия (pthread)?
Цитата Сообщение от kravam Посмотреть сообщение
Вот, допустим, их 10 штук и я щас СПОКОЙНО могу выбрать два из них. Выбрал, пишу:
C++
1
pthread_mutex_unlock (&mutex);
где выбрал, как выбрал, и где и для чего анлок?
т.е где это
Цитата Сообщение от kravam Посмотреть сообщение
Спокойненько то есть разблокировал мьютекс- потоки не дёргаются.
Добавлено через 3 минуты
могу, конечно, догадываться, что якобы разблокировал в (1)
Цитата Сообщение от kravam Посмотреть сообщение
C++
1
2
3
4
5
pthread_mutex_lock (&mutex);
 if (!(mozno_idti)) {
  pthread_cond_wait(&cond, &mutex); // (1)
 }
pthread_mutex_unlock (&mutex);
но если так, то при блокировании в ф-ии pthread_cond_wait мьютекс итак разблокирован
 
Текущее время: 20:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru