我的软件将模拟几百个硬件设备,每个硬件设备将向数据库服务器发送几千条报告。从主题到主程序的反馈
尝试它没有线程没有给出很好的结果,所以现在是时候线程。
由于我负载测试d/b服务器,其中一些事务将成功,有些可能会失败。主程序的GUI需要反映这一点。线程应该如何将结果返回主程序?更新全局变量?发送一个消息?或者什么东西?
现在,如果我只在每个线程结束时更新,那么GUI看起来会很无聊(而且我不知道程序是否挂起)。定期更新GUI可能会很好。但是这可能会导致争用,线程等待其他线程更新(例如,如果我正在写全局变量,我需要一个互斥锁,这将阻塞正在等待写入的每个线程)。
我是线程新手。这通常如何完成?也许主程序可以轮询线程,而不是主程序的线程?
+1感谢您提供一些有用的信息。我怎么能告诉我可以同时运行的smany线程?你推荐别的什么?也许让每台PC模拟X设备并使用Y PC,而不是每台设备的总设备数量或一台PC。如何最好地测试这种事情? – Mawg 2011-01-28 01:05:35