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

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

Войти
Регистрация
Восстановить пароль
 
rasnaut
0 / 0 / 0
Регистрация: 17.07.2008
Сообщений: 6
#1

Прервать выполнение функции в потоке - C++

30.01.2013, 01:16. Просмотров 578. Ответов 0
Метки нет (Все метки)

Здравствуйте, у меня вопрос, возможно ли прервать функцию извне, при этом сама функция является "чёрным ящиком", то есть мы не знаем что там?
Например, у нас есть некий поток, в которому на выполнение передали функцию. В момент выполнения функции, поток получает сигнал (событие), которое ему приказывает срочно завершить все действия, но при этом не использовать terminate(). Как потоку в этом случае, не дожидаясь пока функция завершит своё действие, завершить её?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
MyThread::run()
{
     for(;;)
     {
        ...
        doSumFank(sumObj* sObj);
        ...
     }
}
void MyThread::doSumFunk(sumObj* sObj)
{
    ....
    sObj->MyFunk();//собственно, эту функцию как-то нужно прервать
    ....
}
Заранее, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2013, 01:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прервать выполнение функции в потоке (C++):

Выполнение операций в отдельном потоке - C++
Например у меня есть функция. void musik() //Создание потоковой функции { Beep(2000,3000); } Как сделать поток,...

Как прервать работу функции? - C++
dot CrossLine (const line &L, const line &P, dot&D) { double z; z=Determin(L.A,L.B,P.A,P.B); if (fabs(z)<1e-12) { char...

Вернуть из функции значение; при этом прервать саму функцию - C++
Всех приветствую! Прощу прощения за глупый вопрос, но не знаю на него ответа. Требуется вернуть из функции значение при этом прервать саму...

Запуск функции в отдельном потоке unix - C++
Доброго времени суток! Скажите пожалуйста, как можно в Unix запустить функцию в отдельном потоке? Нечто сродни сишарповскому ......

Исполнение функции-члена в отдельном потоке - C++
Здравствуйте, форум! Вот такой вот пример: Имеется класс, в котором есть 3 перегрузки одной функции. class A { public: ...

Вызов рекурсивной функции в отдельном потоке - C++
Добрый день. Пытаюсь реализовать рекурсивный поиск файлов по заданной маске по каталогам в отдельном потоке. При рекурсивном вызове...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2013, 01:16
Привет! Вот еще темы с ответами:

Не могу создать поток( Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке) - C++
хм.. не могу создать поток в c++ и направить туда. Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке.

Выполнение перегрузки функции - C++
Нужно выполнить перегрузку функции: # include <iostream.h> # include <conio.h> # include <math.h> void func(int&,int&); ...

Выполнение чистых виртуальных функции - C++
Программа выдает ошибку в строке 50-51-51 переопределены различные базовые типы ??? Помогите пожалуйста разобраться задачей ...

Можно ли замедлить выполнение функции? - C++
Передо мной стоит цель, сделать так, что бы объекты постоянно меняли свой цвет , но что бы это происходило не за доли секунды. Возможно ли...


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

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

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