方法在单独的线程中运行 - 如何在调用线程中检索其值
我有返回某种数据类型的方法
MyType MyMethod()
如果我将此方法运行到单独的线程中,如何在调用线程(调用执行 MyMethod 的其他线程)中检索此返回类型?
I have method that return some data type
MyType MyMethod()
If I am running this method into a separate thread, how can this return type be retrieve in the calling thread (that invokes other thread executing MyMethod)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有很多方法可以做到这一点,这里是一种:
这是另一种,使用
Task
API:最后一种,使用 Async CTP(C# 5 的预览):
There are many ways to do it, here's one:
Here's another, using the
Task
API:And a last one, using the Async CTP (preview of C# 5):
我认为 IAsyncResult 模式是你最好的选择。您可以在此处找到更多详细信息。
I think IAsyncResult pattern is your best bet. You can find more details here.
最简单的可能是让两个线程读取/写入同一个静态变量。
该线程虽然略有不同,但也有一些想法: C#中如何使用AOP在不同线程之间共享数据?
Probably the simplest is to have both threads read from/write to the same static variable.
This thread, while slightly different, also has some ideas: How to share data between different threads In C# using AOP?