C#订阅OpcServer 事件,OpcServerTag数据变化触发事件的原理是什么

做了一个C#订阅OpcServer事件的程序,由于数据变化比较频繁,触发事件频率较高;
为了提高程序的性能,我想通过多线程创建多个实例,每个实例订阅对应地址变化的事件,
但不清除OPC触发事件以及C#程序响应事件的工作原理,求懂这方面知识的前辈给解释一下,并提供一些好的建议,

定义delegate void MyEvent(OPCID);

MyEvent myEvent;

void function(OPCID)
{
}

myEvent+=function;

opc是一个接口规范,下面有不同的实现,比如网络、dde、ole等等,在标签修改之类的操作发生的时候,opc server会广播消息给客户端。客户端控件会触发事件,调用你的事件处理函数。

作为调用者,而且是工控领域的开发者,未必要深入理解底层的过程,但是要明白两个基本原则:
(1)使用的是什么线程模型,是否需要线程同步。
(2)作为opc server的一方,如果是双向通讯的话,不需要担心性能的问题。除非是轮询(也就是客户端不知道服务器是否更新,而通过不断周期性请求数据来判断的模式)