Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading firemonkey indy udp同步线程_Multithreading_Udp_Firemonkey_Indy_Synchronize - Fatal编程技术网

Multithreading firemonkey indy udp同步线程

Multithreading firemonkey indy udp同步线程,multithreading,udp,firemonkey,indy,synchronize,Multithreading,Udp,Firemonkey,Indy,Synchronize,你好。 我创建了一个类实例线程。 在这个线程中,我创建了udpserver。 UDPREAD与主线程同步 问题:如何不与主线程同步,而是与UDP的父线程同步 谢谢TIdUDPServer是一个多线程组件。在内部,它为您在TIdUDPServer.Bindings集合中设置的每个项运行单独的读取线程。当给定绑定接收到传入数据时,相应的线程读取数据,然后触发OnUDPRead事件 默认情况下,通过调用TThread.Synchronize,在主UI线程的上下文中调用OnUDPRead事件处理程序。如

你好。 我创建了一个类实例线程。 在这个线程中,我创建了udpserver。 UDPREAD与主线程同步

问题:如何不与主线程同步,而是与UDP的父线程同步

谢谢

TIdUDPServer是一个多线程组件。在内部,它为您在TIdUDPServer.Bindings集合中设置的每个项运行单独的读取线程。当给定绑定接收到传入数据时,相应的线程读取数据,然后触发OnUDPRead事件


默认情况下,通过调用TThread.Synchronize,在主UI线程的上下文中调用OnUDPRead事件处理程序。如果要避免这种情况,需要将TIdUDPServer.ThreadedEvent属性设置为true。然后将在绑定的读取线程的上下文中直接调用事件处理程序,您可以根据需要将事件处理程序的代码与服务器的父线程同步。

这意味着您不仅可以与主流同步,还可以通过父UDP、TThread.Synchronizenil、,MyThreadProcedureIt意味着您可以根据需要同步事件处理程序代码的各个部分。