Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 08.01.2014
Сообщений: 17
1

Вызов метода потока 1 из потока 2 с выполнением метода в 1 потоке

20.05.2021, 16:17. Показов 1955. Ответов 21

Author24 — интернет-сервис помощи студентам
Добрый день коллеги.

загорелся решением 1 вопроса, без конкретно поставленной задачи.

Вопрос в следующем- у меня живут 2 потока одновременно и выполняют какую либо задачу , но в какой то момент поток 2 нарывается на событие которое важно и для 1 потока , в 1 потоке есть обработчик этого события который нужно для него вызвать сразу после последней вып. задачи.
Поток 1:
задание 1;
задание 2;
задание 3;-текущее задание и именно во время его исполнения поток 2 обнаружит важное событие для потока 1 и по хорошему между заданием 3 и 4 нужно добавить задание которое обработает событие. Но такое событие может возникнуть и в любой другой момент не фатк что во время выполнения 3 задания, если это произойдет во время 2 задания то обработчик надо вставить до начала 3 задания.
задание 4;

Или возможно вы знаете как работает таймер , потому что мне кажется он работает аналогичным способом. т.к он делает рассчет времени асинхронно и в нужный момент дергает функцию которая выполняется в текущем потоке (если я не прав поправьте пож.) . Если напишите что компилятор зная время выполнения таймер заранее планирует поток , тогда встает вопрос , что происходит когда я после выполнения таймера меняю его время на вводимое число и он продолжает работать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2021, 16:17
Ответы с готовыми решениями:

Вызов статичного метода из потока
Имеется такая функция: class MyClass { public: static int myFunction(int number) { ...

Вызов метода основного потока из второстепенного потока
Здравствуйте! Столкнулся с проблемой: есть два потока (основной и не основной), мне нужно вызвать...

Вызов метода после завершения потока
Здравствуйте. Есть вот такой простой пример: private void Work() { ...

Потоки. Как из одного потока вызвать выполнение метода в другом потоке
Необходимо 50 раз в секунду выполнять методы в двух параллельно работающих потоках...

21
2376 / 834 / 317
Регистрация: 10.02.2018
Сообщений: 1,968
21.05.2021, 17:26 21
Author24 — интернет-сервис помощи студентам
Evgeny43, если бы вы сразу описали свою конкретную задачу, то было бы проще получить нужный ответ. Частые таймеры не должны приводить к ощутимым зависаниям, возможно у вас просто неудачная (долгая) проверка готовности данных. И, наверное, правильнее было бы в раздел C++/CLI обратиться. У CLI свои сущности и правила их использования, далекие от C/C++.
1
1 / 1 / 0
Регистрация: 08.01.2014
Сообщений: 17
21.05.2021, 17:54  [ТС] 22
Спасибо большое , но я хотел не только по CLI посмотреть, а в общем узнать теорию, и благодаря вам узнал, изначально не подозревал, что интерфейсный поток и пользовательский поток отличаются, поэтому думал , что они так же и в консольном будут работать.
0
21.05.2021, 17:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2021, 17:54
Помогаю со студенческими работами здесь

Способ вызова из фонового потока метода, но чтобы последний выполнялся в главном потоке
Есть два потока: главный и фоновый. Ищу способ вызова из фонового потока метода, но чтобы последний...

Вызов метода логирования при запуске потока xNET либа
Приветствую! Собственно разбираюсь с либой, xNet. Но вопрос скорее не столько по ней. вот...

Вызов метода другого потока или как сделать "Открыть через."
Здравствуйте. Хочу сделать приложение со своим пунктом в контекстом меню Windows. Например "Открыть...

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: override означает, что...

Вызов метода в потоке
Всем здравствуйте! Вот в чем вопрос. Есть проект, в котором генерируется dll // CsFunc.h...

Вызов метода в потоке
Подскажите в чем моя ошибка. Пытаюсь вызвать метод в потоке и получаются следующие ошибки ...


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

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