138 / 138 / 53
Регистрация: 14.06.2016
Сообщений: 467
1

Abort has been called при создании потока

05.10.2016, 08:38. Показов 3767. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
С помощью CreateRemoteThread запускаю новый поток, в котором примерно следующее:
C++
1
2
3
4
5
6
7
_mainLoop = std::thread([this]() {
            for (;;) {
                Tick();
                std::this_thread::sleep_for(std::chrono::milliseconds(10));
            }
        }); 
_mainLoop.detach();
получаю: "abort has been called".
Как правильно отцепить поток из другого потока?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2016, 08:38
Ответы с готовыми решениями:

R6010 -abort() has been called
Есть код: task_for_thread: void task_for_thread(const size_t idThread) { while (done.value...

Вылетает : R6010 - abort() has been called
Написал программу которая перемножает 2 очень больших матрицы. На мелких она работает. То есть...

Проблема чтения файла С++ abort() has been called
Здравствуйте. Ранее без проблем считывал данные с файлов в С++, а вчера появилась проблема....

Debug Error! R6010 - abort() has been called
Помогите исправить ошибку #include <iostream> #include <fstream> using namespace std; int...

8
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
05.10.2016, 09:33 2
Что за this и почему не предусмотрено завершение?
1
138 / 138 / 53
Регистрация: 14.06.2016
Сообщений: 467
05.10.2016, 12:16  [ТС] 3
C++
1
2
3
4
__declspec(dllexport) int Initialize(int hostPid) {
        Engine::Instance().StartWorking(hostPid);
        return 0;
}
Tick - метод инстанса этого самого Engine, поэтому захватываю this.

Ну а завершение не предусмотрено, потому что фоновый поток должен работать на протяжении всей жизни программы.
0
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
05.10.2016, 12:38 4
jr_, главный процесс завершился и все потоки ось валит до кучи к нему.
0
138 / 138 / 53
Регистрация: 14.06.2016
Сообщений: 467
05.10.2016, 12:39  [ТС] 5
Цитата Сообщение от ture Посмотреть сообщение
r_, главный процесс завершился и все потоки ось валит до кучи к нему.
процесс не завершается.
0
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
05.10.2016, 12:43 6
C++
1
2
3
4
    /*создаем экземпляр класса и он сразу запускает поток*/
    std::thread th1(hndl_func);
    th1.join();//присоединяем поток к основному потоку процесса, т.е. ждем завершения
    //th1.detach();//можно сообщить потоку, что после завершения не ждал присоединения
1
138 / 138 / 53
Регистрация: 14.06.2016
Сообщений: 467
05.10.2016, 12:54  [ТС] 7
Так я именно так и делаю, или нет?
0
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
05.10.2016, 13:02 8
jr_, эх думал быстро отделаться...
Я вижу, что поток имеет доступ к членам класса и не знаю, что делает Tick(). Но ясно, что поток запускается о с чем-то обламывается в процессе. Может раздельный доступ? Впрочем врядли...
1
138 / 138 / 53
Регистрация: 14.06.2016
Сообщений: 467
05.10.2016, 13:17  [ТС] 9
проблема решилась сама собой, как - непонятно
0
05.10.2016, 13:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2016, 13:17
Помогаю со студенческими работами здесь

Abort() has been called - Ошибка в работе программы
Только начал изучать C++. Нужно немного помощи. Задача такова, ввести текст(строку), отсортировать...

Ошибка при создании локального чата: There is no overloaded version of 'Send' that can be called with these arguments
Создаю локальный чат на IdUDPClient и IdUDPServer. Но возникает такая ошибка: Unit2.pas(39):...

Шифр Цезаря: программа выдает "abort() has been called"
#include "pch.h" #include <iostream> #include <string> #include <string.h> using namespace...

Метод Abort для потока крашит приложение
довольно странная проблема: при аборте потока студия завершает работу приложения, ничего не...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru