![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Собственно есть функция которая должна вернуть некий результат, но функция оставляет параметры в массив, и поток раз в секунду проверяет массив на наличие элементов (своеобразный стек) и выполняет запрос на сервер, полученный результат надо вернуть в ту же функцию, как?
там идет именно функция, ибо так удобней, Есть мысль передать адрес функции в тот же массив и заставить приложение ждать результата, и потом вернуть на адрес результат, но не умею, подскажите |
#2
|
||||||
|
||||||
![]() Код из демо приложения
Код:
Код компонента Код:
Код:
|
#3
|
|||
|
|||
![]() Значит должен быть еще один "стек", в который уже будет писать результат поток (нить), а фунция будет от туда читать.
|
#4
|
||||
|
||||
![]() ну, как вариант, добавлять в массив помимо параметров для потока еще и указатель, куда поток будет сохранять результат (естественно функция выделяет память) и хэндл Event'а, который поток будет устанавливать в сигнальное состояние, когда выполнит запрос, а функция ожидать этот Event.
либо функция сама запускает свой поток и ждет его завершения. но не понятно зачем вообще потоки? функция все-равно "зависнет". Пишу программы за еду. __________________ |
#5
|
||||
|
||||
![]() Ну а так не устроит?
Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |