Orchestrator线程架构设计

时间:2014-05-27 19:26:10

标签: c# multithreading sockets design-patterns architecture

我正在寻找建议我的代码片段的建议。我需要编写一个程序来做三件事: 1 - 打开一个套接字来监听服务器(这个套接字可以关闭,重新打开...) 2 - 与REST Web服务交谈 3 - 决定Web服务的答案,通过套接字向服务器发送一些请求。

我应该使用的最佳.net架构是什么? 一个主线程,管理用于套接字通信的专用线程,第三个用于Rest Web服务? 谢谢 约翰

1 个答案:

答案 0 :(得分:1)

我认为你已经找到了最好的方法,你应该创建2个线程,一个用于套接字连接,一个用于REST Web服务。

唯一的问题是第3点,这将涉及2个线程之间的通信,如果您未能正确执行此操作,这可能会很痛苦。虽然,网上有足够的资源可以帮助您入门:

Advanced Threading - Nonblocking Synchronization, by Joseph Albahari(找到段落:制作人/消费者队列

StackOverflow - Similar answer to as this question, also Queue's