Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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
C# 事件处理程序如何排队_C#_.net_Events - Fatal编程技术网

C# 事件处理程序如何排队

C# 事件处理程序如何排队,c#,.net,events,C#,.net,Events,事件处理程序如何排队或缓冲?如果您在事件处理程序中调用一个方法,并且程序接收到大量事件点击,这会干扰该方法吗?同步和异步 我尝试在winforms中创建一个小脚本,其中我的按钮是我的事件处理程序和一个只执行thread.sleep(x)的方法。尝试了同步和异步。例如: public override OnChanged(object obj) { Call method(); } public void method() { //do something } 在这个例子中,当

事件处理程序如何排队或缓冲?如果您在事件处理程序中调用一个方法,并且程序接收到大量事件点击,这会干扰该方法吗?同步和异步

我尝试在winforms中创建一个小脚本,其中我的按钮是我的事件处理程序和一个只执行thread.sleep(x)的方法。尝试了同步和异步。例如:

public override OnChanged(object obj)
{
    Call method();
}

public void method()
{
   //do something 
}
在这个例子中,当我同时从不同的类触发两个事件时会发生什么。它们如何缓冲?因为如果事件1正在调用该方法,并且需要一些时间,我猜在同步中,事件2必须等待直到事件1完成?这是真的吗

当使用异步时,我假设所有东西都将同时启动,但它可能也会有一个缓冲区?这是真的吗

在这两种情况下,当同时命中多个事件时,我的方法可能会被事件1和事件2的信息扰乱。如果是,我如何避免