在主线程中,我打开一个新线程,获取用户的新消息数量(大约需要5秒),第二个线程应该在某个地方保存该号码。
在主线程中,我应该检查“某个地方”,如果值存在,我会在页面上显示。
在哪里可以保存第二个线程中的值以从主线程中读取它?该值对每个用户是唯一的,因此我不能使用静态字段。
感谢您提前!
答案 0 :(得分:1)
当多个线程可以读/写时,使用关键部分来保护对某些数据的访问。使用单例实例来存储数据,全局变量,注册表模式等等。
答案 1 :(得分:1)
您可以使用带有用户ID的静态字典作为键,结果作为值。使用锁保护字典访问。主线程读取值后,您可以从字典中清除它。
答案 2 :(得分:0)
我这样做,我有一个矢量od“ThreadData”元素。 每个启动的线程在启动时都会获取此元素,并且可以更新该数据(由互斥锁保护)。 主线程只是检查元素中的一些标志(ThreadState - Running,Idle,Stopped等)并读取线程更新的其他数据。