我有一个应用程序有一个主要的用户界面和两个无模式窗口运行在他们自己的单独线程。将对象从线程传递到线程时,我只是在辅助线程的主线程上创建对象的副本。 当我想更新对象本身,并通过代码和辅助线程更改永久化,我该如何做到这一点?辅助线程始终保留旧对象的副本,并且永远不会更新,除非线程被杀死或停止,然后再次产生。多线程c#应用程序
1
A
回答
0
有很多方法可以解决这个问题。一个将是该对象的存储库的线程安全共享实例。当一个线程更新它时,其他线程会得到一个更新的副本。你可以使用WCF来简化它。有些想法参见this article on WCF and concurrency。这是@Eric J对您问题的评论的实施。
另一个将通过事件来协调线程。当一个线程更新对象时,一个事件被发送给其他人。如果对象没有经常改变,那可能就足够了。
This question谈到第三种可能性:BackgroundWorker
。
相关问题
- 1. 多线程应用程序 - C++/Debian的
- 2. C多线程应用程序结构
- 3. 的HelloWorld多线程C#应用程序
- 4. c#多线程应用程序
- 5. C++中的多线程应用程序
- 6. C#应用程序线程
- 7. 多线程应用程序
- 8. c多线程程序
- 9. webrequests c多线程程序#
- 10. 在线c#应用程序
- 11. 多线程应用程序中的易失性C/C++
- 12. 多线程Web应用程序与多线程Web服务器
- 13. 多线程应用程序+ Web应用程序
- 14. c#windows应用程序中的线程
- 15. C#Web应用程序线程
- 16. C#winforms应用程序线程同步
- 17. C#TCP聊天应用程序线程
- 18. 使用大型线程池调试多线程C++应用程序
- 19. 多线程:C#程序运行C DLL - 不响应C#
- 20. Web应用程序和多线程
- 21. 记录在多线程应用程序
- 22. 多线程应用程序中的System.setproperty
- 23. 策略多线程应用程序
- 24. TDD多线程应用程序
- 25. 多线程JPA应用程序合并()
- 26. 在多线程应用程序
- 27. ShutDownHook在多线程应用程序
- 28. 多线程的web应用程序
- 29. 断点多线程应用程序
- 30. 调试多线程应用程序
你为什么要复制对象?从多个线程引用同一对象并使用并发语义来确保对该对象的任何更改都是原子性的,这会更简单。 –