【发布时间】:2015-05-07 20:54:50
【问题描述】:
我正在尝试用 C# 编写客户端和服务器程序,客户端向服务器发送请求,服务器在线程中处理请求并向客户端发送响应。
我编写客户端和服务器,但问题是,一些线程使用了太多内存并阻塞了其他请求。 有什么方法可以限制线程或应用程序的内存使用。
谢谢
【问题讨论】:
-
您不能为“每个线程”定义内存限制。内存是从共享池中分配的。
标签: c# multithreading client server
我正在尝试用 C# 编写客户端和服务器程序,客户端向服务器发送请求,服务器在线程中处理请求并向客户端发送响应。
我编写客户端和服务器,但问题是,一些线程使用了太多内存并阻塞了其他请求。 有什么方法可以限制线程或应用程序的内存使用。
谢谢
【问题讨论】:
标签: c# multithreading client server
没有任何机制可以限制专用线程上的内存使用。很明显,您的程序中存在一些架构和/或编码错误。
【讨论】:
您不能为“每个线程”定义内存限制。内存是从共享池中分配的。相反,一个选项可以创建一个队列,然后拥有固定数量的线程(1、2、3、4 等) .
这样,如果发出请求,它会一次处理 4 个(或任何你想要的)。这样你可以防止内存。
【讨论】: