Neo писал(а):
Тогда я четко видел когда поток еще выполняетсяNeo, если актуально, могу научить как из одного потока (например, основного) "общаться жестами" с другими потоками. Не передавать данные, но узнавать о самом факте наступления какого-либо события, например, того же конца обработки данных, смотрите:
Add(MainForm,2953706,126,161)
{
@Color=11206655
Width=195
Height=31
Caption="Wait 5 seconds!"
Position=1
Point(onClose)
link(onCreate,9575151:doCreate,[(193,181)(193,161)(274,161)(274,181)])
link(onClose,9575151:doDestroy,[(193,188)(193,202)])
}
Add(Thread,12392250,413,224)
{
@Color=11206655
link(onExec,16177197:doNext,[])
}
Add(Events,9575151,280,175)
{
@Color=11184895
Name="CountDone"
Point(doDestroy)
link(onCreate,6562538:doEvent1,[])
}
Add(Hub,6562538,357,175)
{
@Color=11206655
OutCount=3
link(onEvent1,8865301:doWork,[(378,181)(378,174)])
link(onEvent2,12392250:doStart,[(392,188)(392,230)])
link(onEvent3,8207661:doStart,[(383,195)(383,300)])
}
Add(CounterEx,16177197,469,224)
{
@Color=11206655
Max=5
Point(onThroughMax)
link(onThroughMax,2068956:doWork,[])
}
Add(Message,8851497,518,294)
{
@Color=11206655
Message="Parallel thread has set the event "CountDone".
Do you wand RESET this event?"
Type=1
link(onMessage,6367498:doEvent,[])
}
Add(Thread,8207661,413,294)
{
@Color=11206655
link(onExec,11997486:doWait,[])
}
Add(WaitObject,11997486,469,294)
{
@Color=11184895
link(onWait,8851497:doMessage,[])
link(ObjHandle,2841369:getVar,[])
}
Add(IndexToChanel,6367498,588,294)
{
@Color=11206655
Count=3
link(onEvent2,4845336:doWork,[])
}
Add(LineBreakEx,11385139,203,168)
{
@Color=11184895
Caption="doSet"
Type=1
link(OnEvent,9575151:doSet,[(269,174)(269,188)])
}
Add(LineBreakEx,2841369,469,266)
{
@Color=11184895
Caption="ObjHandle"
Type=2
}
Add(LineBreakEx,1241468,280,224)
{
@Color=11184895
Caption="ObjHandle"
Type=3
link(_Data,9575151:ObjHandle,[])
}
Add(LineBreakEx,2068956,518,231)
{
@Color=11184895
Caption="doSet"
}
Add(LineBreakEx,10221058,196,182)
{
@Color=11184895
Caption="doReset"
Type=1
link(OnEvent,9575151:doReset,[(268,188)(268,195)])
}
Add(LineBreakEx,8865301,385,168)
{
@Color=11184895
Caption="doReset"
}
Add(LineBreakEx,4845336,637,301)
{
@Color=11184895
Caption="doReset"
}
andrestudio,
[flood]
andrestudio писал(а):
кто-то подразумевал что и кухарка справитсяВидимо, та же самая, что "может управлять государством"

------------ Дoбавленo в 11.18:
1nd1g0 писал(а):
узнавать о самом факте наступления какого-либо событияПричём теоретически (если как-то передадите ObjHandle) можно устанавливатьреагировать на событие не только в другом потоке, но и в другой программе (!), запущенной от имени этого же пользователя. (Подобный механизм реализуется системным Mutex.)