![]() |
#1 |
Участник
|
Описание функций класса Thread
Всем добрый день!
Подскажите пожалуйста где можно найти описание функций класса Thread? |
|
![]() |
#2 |
Участник
|
нетути такового.
|
|
![]() |
#3 |
Участник
|
Я так и думал
![]() Тогда как правильно определить, что поток закончил выполнение функции, указанной в методе run(...) |
|
![]() |
#4 |
Гость
|
Наверное правильно будет, как в tutorialThread:
В конце выполняемой функции потока использовать setOutputParm для выставления флажка . Соответственно, проверять флажок с помощью getOutputParm |
|
![]() |
#5 |
Участник
|
и получится нереентерабельный код
![]() |
|
![]() |
#6 |
Участник
|
Честно говоря не понял значение слова "нереентерабельный ".
По поводу того как сделано в tutorial_Tread через setOutputParm, то это пробовали работает плохо, система выдает сообщения об ошибке. |
|
![]() |
#7 |
Lean Six Sigma
|
Цитата:
Честно говоря не понял значение слова "нереентерабельный ".
|
|
![]() |
#8 |
Гость
|
Возможное (но корявенькое) решение:
Можно сделать флажок в какой - нибудь постоянной таблице и ставить его при завершении функции потока. Соответственно там, где нужно проверять его. А где выполняется поток (сервер или клиент)? |
|
![]() |
#9 |
Участник
|
Поток выполняется на клиенте, клиентов много, таблица не пойдет. Что - то должно быть в самом классе Thread. Было бы описание
![]() |
|
![]() |
#10 |
Гость
|
Как я понимаю функция потока endTime сообщает время окончания работы функции потока, либо 0 (если функция работает). У меня вроде бы работала, как описал выше. Не подойдет?
|
|
![]() |
#11 |
Участник
|
Кстати, появляющаяся ошибка: Can't create tooltip ( tipe2 )
|
|
![]() |
#12 |
Участник
|
Выясняются новые подробности работы потоков. Оказывается действительно создается отдельный поток, в нем окно с названием "AxToolTip" tooltips_class32 со стилями WS_POPUP, WS_CLIPSIBLING, WS_BORDER, TTS_ALWAYSTIP, TTS_NOPREFIX. Все это видно в Spy++.
|
|
![]() |
#13 |
Участник
|
Реентерабильность.
Модуль(Объект) считается реентерабильным, если его может использовать ОДНОВРЕМЕННО 2 и более потока.
Ну а нереентерабильный - это тот, которым может пользоваться одновремено только один. ну и Реентерабельность = ReEnter = Повторый Вход.
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5 |
|
![]() |
#14 |
Гость
|
Более того, по-моему после выполнения функции потока окно тихо "умирает" (проверил Spy).
![]() |
|
![]() |
#15 |
Гость
|
P.S. Вместе с потоком
![]() |
|
![]() |
#16 |
Участник
|
Но иногда оно не умирает, а пишет сообщение об ошибке Can't crete tooltip ( type 2 ). Отчего лезет это сообщение?!!!
|
|
![]() |
#17 |
Участник
|
Цитата:
Изначально опубликовано sergy
Честно говоря не понял значение слова "нереентерабельный ". Цитата:
Изначально опубликовано bucken
Модуль(Объект) считается реентерабильным, если его может использовать ОДНОВРЕМЕННО 2 и более потока. Если у вас есть один параметр в классе (который по сути является семафором), то вы можете запускать только один поток из одного экземляра. А это стрельба из пушки по воробьям. Потоки обычно нужны, чтобы распараллеливать процессы Если нет распараллеливания, то зачем вам потоки? |
|
![]() |
#18 |
Участник
|
Цитата:
Изначально опубликовано sergy
Но иногда оно не умирает, а пишет сообщение об ошибке Can't crete tooltip ( type 2 ). Отчего лезет это сообщение?!!! например, выдаете ему сообщение или открываете форму. а он не может никуда вывести ваше сообщение. |
|
![]() |
#19 |
Участник
|
Если я правильно понял значение реентерабильности, то в ClassDeclaration класса, который работает в потоки я не могу заводить переменные и построить работу класса таким образом, что в статической функции класса, которая указывается в run, я не могу создать экземпляр этого класса? На счет сообщения - оно появляется только после нескольких перезапусков потока.
|
|
![]() |
#20 |
Участник
|
Кстати на счет общения с пользователем. Специально поставил вызов info() все нормально прошло
|
|
Теги |
axapta, thread, потоки |
|
![]() |
||||
Тема | Ответов | |||
Вызов форм методa из Thread класса | 4 | |||
Вызов метода базового класса | 15 | |||
передача курсора в два класса | 3 | |||
Запустить метод класса | 2 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|