Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему код, написанный на С++, в разы быстрее работает с большим объемом памяти, чем с маленьким? https://www.cyberforum.ru/ cpp/ thread442175.html
Привет! Понадобилось мне сравнить скорость работы идентичных алгоритмов на Fortran и C++. Алгоритм - перемножение матриц. Решил поэкспериментировать с матрицами разных размеров. Вот результаты...
шаблонные методы шаблона. Специализация. C++
Вопрос: каким образом можно вынести реализацию методов класса за его пределы? Изначально вопрос формулировался так: Каким образом можно произвести специализацию одного из методов шаблона класса...
С++ Unit Test (модульное тестирование) C++
Вопроса по сути два. 1. что используете для модульного тестирования и почему отдаете этому предпочтение. 2. если используете eclipse, то очень интересует процесс конфигурирования eclipse для...
C++ Сетевой график ПОжалуйста помогите создать программу Задачи работы: - построение сетевого графика; - анализ сетевого графика; -оптимизация сетевого графика. p.s. сижу с сотки, интернет отключен программа... https://www.cyberforum.ru/ cpp/ thread441209.html
C++ PopCap Games Framework 1.3 https://www.cyberforum.ru/ cpp/ thread440526.html
У кого есть ссылка на PopCap Games Framework 1.3 скиньте плииз! С сайта sourceforge.net никак не качается... Форум не место обмена ссылками!
C++ Необычная Dll
Есть ли способ написать DLL, в которой есть функция и через неё будут проходить вызовы экспортируемых функций? Например в DLL нет функции Func, и тогда, по-умолчанию вызывается функция Default?
Сборки MinGW(GCC-win32/win64) от niXman C++
с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw. файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую...
C++ Построение и программная реализация автоматных моделей языков Доброе время суток всем. Будьте так любезны кто знает или умеет напишите пожалуйста примеры конечных автоматов. Можно в принципе и на Delphi толь тогда это не тот раздел. И всё же помагите... https://www.cyberforum.ru/ cpp/ thread438991.html
C++ Кто может собрать оффсет из crossfire в dll https://www.cyberforum.ru/ cpp/ thread438749.html
всем привет. я с помощью программы ollydbg нашёл оФФсет игры crossfire ,я могу написать вам его,и чтобы вы его собрали в dll для читы плиз оч нужно
C++ C++ и CS 1.6 Доброго времени суток! У меня возник вопрос, как средствами C++ узнать SteamID клиента CS 1.6 Хотя бы такой вариант! Запускаем созданную программу, затем игру cs 1.6 и в программе появляется... https://www.cyberforum.ru/ cpp/ thread437780.html
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
07.02.2012, 23:08 0

Как узнать, что поток закончился (библиотека pthread)?

07.02.2012, 23:08. Просмотров 8175. Ответов 28
Метки (Все метки)

Ответ

Цитата Сообщение от retmas Посмотреть сообщение
Цитата Сообщение от retmas Посмотреть сообщение
баг?/несоответствие с POSIX?
скорее всего
http://liveworkspace.org/code/... 506d81a52a
pthread_join же не возвращает ESRCH
хотя может и не баг, а просто "зависит от реализации". решил тоже перечитать маны
The pthread_kill() function is used to request that a signal be delivered to the specified thread.
может ли сигнал быть delivered потоку-зомби?
и если все-таки зависит от раелизации, проверять завершение с помощью pthread_kill можно только для конкретной реализации, а значит непереносимо

Добавлено через 4 минуты
Цитата Сообщение от kravam Посмотреть сообщение
В цикле вызывать эту функцию и всё. Так что буду пробовать.
может проще сделать
Цитата Сообщение от retmas Посмотреть сообщение
топорно:
даешь мьютекс, блокируешь в потоке(в самом начале, а перед концом - освобождаешь), try_lock в мэйне
или что-то вроде этого?

Добавлено через 24 минуты
вот, что нашел в описании pthread_join
It is unspecified whether a thread that has exited but remains unjoined counts against {PTHREAD_THREADS_MAX}.
думаю, это значит также, что unspecified, валидный ли id потока-зомби и можно ли воздействовать на такой поток какими-либо ф-ми, кроме pthread_join.
могу ошибаться

Добавлено через 10 минут
нашел еще интересную вещь, правда про kill()
Existing implementations vary on the result of a kill() with pid indicating an inactive process (a terminated process that has not been waited for by its parent). Some indicate success on such a call (subject to permission checking), while others give an error of [ESRCH]. Since the definition of process lifetime in this volume of IEEE Std 1003.1-2001 covers inactive processes, the [ESRCH] error as described is inappropriate in this case. In particular, this means that an application cannot have a parent process check for termination of a particular child with kill().
но думаю здесь именно этот случай, поскольку про pthread_kill сказано
As in kill(), if sig is zero, error checking shall be performed but no signal shall actually be sent.
так что проверять, завершился ли поток с помощью pthread_kill - не верно

так что, kravam, ищите пути иные, чем pthread_kill

Вернуться к обсуждению:
Как узнать, что поток закончился (библиотека pthread)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2012, 23:08
Готовые ответы и решения:

как узнать закончился ли АП PR?
субж !!! вроде бы значения уже сменились и вдруг опять начали немного меняться.

Как узнать, что поток не завершен
Помогите с таким вопросом: Есть класс, в котором создается поток подачи звукового сигнала...

Как получить TID текущего потока? (библиотека pthread, компилятор g++ 4.6.1 открытый вопрос niXmanу)
Да, как? #include <windows.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> ...

библиотека pthread.h в Code::Blocks
не могу найти как подключить библиотеку pthread.h в Code::Blocks. Помогите,пожалуйста, кто знает.

28
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.