相关疑难解决方法(0)

EndInvoke()是可选的,sort-of optional,还是绝对不是可选的?

我已经阅读了关于每个BeginInvoke()是否必须与EndInvoke()匹配的矛盾意见.是否有任何与调用EndInvoke()相关的泄漏或其他问题?

c# multithreading delegates

56
推荐指数
3
解决办法
1万
查看次数

Delegate.EndInvoke()真的有必要吗?

我已经阅读了几个论坛,甚至还有一个或两个stackoverflow问题,说使用Delegate.BeginInvoke时需要Delegate.EndInvoke.我读过的很多关于使用BeginInvoke的文章都未提及使用EndInvoke.此外,我仅使用BeginInvoke部署了生产代码,并且似乎没有任何内存问题.我使用BeginInvoke的方式通常是线程,我不关心它们完成或处理多长时间.

.net delegates begininvoke

25
推荐指数
3
解决办法
9440
查看次数

为什么异步委托方法需要调用EndInvoke?

为什么委托需要在方法触发之前调用EndInvoke?如果我需要调用EndInvoke(它阻塞线程)那么它真的不是异步调用吗?

这是我试图运行的代码.

class Program
    {
        private delegate void GenerateXmlDelegate();

        static void Main(string[] args)
        {
            GenerateXmlDelegate worker = new GenerateXmlDelegate(GenerateMainXml);
            IAsyncResult result = worker.BeginInvoke(null, null);
        }

        private static void GenerateMainXml()
        {
            Thread.Sleep(10000);
            Console.WriteLine("GenerateMainXml Called by delegate");
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# delegates asynchronous

10
推荐指数
2
解决办法
7378
查看次数

标签 统计

delegates ×3

c# ×2

.net ×1

asynchronous ×1

begininvoke ×1

multithreading ×1