前端之家收集整理的这篇文章主要介绍了
多线程 – 监控数百个实时设备时如何使我的应用程序运行良好?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在Delphi中开发实时(即,每秒至少要求一次信息)监视应用程序,该应用程序监视多个远程设备(可以是数百个).通信是通过TCP / IP.
我正在寻求开发这个应用程序的建议,避免100%的cpu消耗,并最大限度地减少RAM的使用量.换句话说,我希望我的应用程序保持响应,而不是阻止系统或消耗所有资源.
我主要关心的是使用线程监视每个远程设备.我的应用程序可以创建的线程数量有限制吗?可以使用低或中等优先级启动线程以最大限度地减少cpu消耗吗?
关于最佳内存使用的建议也是值得欢迎的.
你的本能是正确的,你想处理在主线程之外的线程的日志记录.创建一个简单的tcp / ip服务器,为传入连接创建一个新线程,并处理日志记录.显然,你会想要跟踪每个线程,以便在您的服务器应用程序
关闭时能够终止它,并且如果要重新使用线程池/队列,而不是不断创建和销毁它们,则可能会实现一个线程池/队列.但是你所描述的实际上是一个相当简单的服务器应用程序.您可以创建的线程
数量没有困难和
快速的限制.但是,除非连接是恒定的并且保持开放,否则您可能会惊讶于实际创建的
数量几乎同时创建.
原文链接:https://www.f2er.com/java/123792.html