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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 775
Завершенные тесты: 1
#1

Std::thread::detach() - C++

16.06.2016, 11:09. Просмотров 418. Ответов 4
Метки нет (Все метки)

Что произойдет, если main - поток завершится раньше чем child.detach()?

Добавлено через 3 минуты
У меня программа просто завершилась и cout << перестал выводить текст в консоль, это точно означает, что поток child завершился? Или просто связано с прекращением работы main?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2016, 11:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Std::thread::detach() (C++):

Использование std::function в std::thread - C++
Нужно вызвать function fnc в новом потоке. Как сделать? function &lt;void(vector&lt;char&gt;)&gt; fnc; void test(vector&lt;char&gt; data) { for...

Ошибка компиляции "no instance of constructor 'std::thread::thread' matches the argument list" - C++
Не могу сообразить почему возникает ошибка. У меня в классе есть метод, который должен работать в нескольких потоках одновременно. Вот он: ...

Boost::thread vs std::thread - C++
Доброго времени суток, решил углубить свои знания, и решил почитать про потоки, бустовые и те что в 11 стандарте приняли, с бустом все ясно...

std::thread - C++
Возник вопрос: как создать массив потоков (точнее, как его инициализировать). То есть, мне нужно примерно такое: std::thread...

Std::thread в классе - C++
Всем привет есть код #include&lt;thread&gt; #include&lt;iostream&gt; class SomeClass { public : SomeClass(); ...

Указатели и std::thread - C++
Всем здрасьте ! Возникла проблема в понимании ... Возможно я написал не в ту тему, но думаю тут есть эксперты. У меня есть класс...

4
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,068
Завершенные тесты: 1
16.06.2016, 11:14 #2
нужен код программы
может просто программа выполнилась и окно закрылось?
0
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 775
Завершенные тесты: 1
16.06.2016, 13:24  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <iomanip>
#include <string>
#include <thread>
#include <memory>
 
using namespace std;
 
void proc1(const int num)
{
    int max_i = 50000;
    int i = 0;
    while(i<max_i)
    {
        cout << std::to_string(num);
        ++i;
    }
}
 
void proc2(const int num)
{
    int max_i = 50000;
    int i = 0;
    while(i<max_i)
    {
        cout << std::to_string(num);
        ++i;
    }
}
 
int main()
{
    thread t1(proc1, 5);
    thread t2(proc2, 7);
    t1.detach();
    t2.detach();
 
    return 0;
}
Добавлено через 56 секунд
Цитата Сообщение от Raali Посмотреть сообщение
может просто программа выполнилась и окно закрылось?
Прервалось выполнение, т.е. вывелось пару десятков пятерок и все
0
nmcf
5536 / 4846 / 1643
Регистрация: 14.04.2014
Сообщений: 19,661
16.06.2016, 13:33 #4
Ты неправильно вопрос формулируешь. Основной поток у тебя завершился после detach(). Просто потоки сами по себе не существуют без главного.
0
Knjagskij
-4 / 6 / 0
Регистрация: 10.11.2008
Сообщений: 775
Завершенные тесты: 1
16.06.2016, 13:35  [ТС] #5
Но при этом, если вообще убрать detach() потоки выполняются
0
16.06.2016, 13:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2016, 13:35
Привет! Вот еще темы с ответами:

Многопоточность в C++11. std::thread - C++
Привет всем! использую таким образом многопоточность class A { public: void fun() { } };

Запутался с std::thread в классе - C++
Гуру, помогите новичку! Учусь кодить в потоках! Немного разообрался. Теперь задача - &quot;завернуть&quot; поток в отдельный класс (внешний...

Std::thread автоматическая многопоточность - C++
Есть данный пример создания массива thread и инициализации его в цикле. #include&lt;iostream&gt; #include&lt;sstream&gt; #include&lt;thread&gt; ...

Копирование объектов std::thread - C++
В учебнике Энтони Уильямса есть простой пример класса scoped_thread, присоединяющего поток в деструкторе: class scoped_thread { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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