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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему код, написанный на С++, в разы быстрее работает с большим объемом памяти, чем с маленьким? http://www.cyberforum.ru/cpp/thread442175.html
Привет! Понадобилось мне сравнить скорость работы идентичных алгоритмов на Fortran и C++. Алгоритм - перемножение матриц. Решил поэкспериментировать с матрицами разных размеров. Вот результаты...
C++ шаблонные методы шаблона. Специализация. Вопрос: каким образом можно вынести реализацию методов класса за его пределы? Изначально вопрос формулировался так: Каким образом можно произвести специализацию одного из методов шаблона класса... http://www.cyberforum.ru/cpp/thread442155.html
С++ Unit Test (модульное тестирование) C++
Вопроса по сути два. 1. что используете для модульного тестирования и почему отдаете этому предпочтение. 2. если используете eclipse, то очень интересует процесс конфигурирования eclipse для...
Сетевой график C++
ПОжалуйста помогите создать программу Задачи работы: - построение сетевого графика; - анализ сетевого графика; -оптимизация сетевого графика. p.s. сижу с сотки, интернет отключен программа...
C++ PopCap Games Framework 1.3 http://www.cyberforum.ru/cpp/thread440526.html
У кого есть ссылка на PopCap Games Framework 1.3 скиньте плииз! С сайта sourceforge.net никак не качается... Форум не место обмена ссылками!
C++ Необычная Dll Есть ли способ написать DLL, в которой есть функция и через неё будут проходить вызовы экспортируемых функций? Например в DLL нет функции Func, и тогда, по-умолчанию вызывается функция Default? подробнее

Показать сообщение отдельно
niXman
Эксперт С++
3137 / 1449 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
09.02.2012, 02:14
оказывается эта возможность предусмотрена стандартом С++11.

можно будет писать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
std::mutex m;
std::condition_variable cv;
 
void thread_func()
{
    std::unique_lock<std::mutex> lk(m);
   
    что-то выполняем....
 
    std::notify_all_at_thread_exit(cv, lk);
}
 
int main() {
    std::thread t(thread_func);
    t.detach(); // отсоединяем поток
 
    что-то еще выполняем...
 
    std::unique_lock<std::mutex> lk(m);
    cv.wait(lk); // ждем завершения
 
    по завершению потока оказываемся тут!
}
но std::notify_all_at_thread_exit() пока не реализована ни одним производителем компиляторов
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru