首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么控制多线程做不同的事情呢

2013-06-26 
如何控制多线程做不同的事情呢?求助我用线程池创建了10个线程,要求其中一个专门用来循环检查数据,而另外9

如何控制多线程做不同的事情呢?求助
我用线程池创建了10个线程,要求其中一个专门用来循环检查数据,而另外9个则专门用来处理数据;当检查数据的哪个线程发现数据发生改变,则用其他9个线程中的一个对数据进行计算,求助如何区分这10个线程呢,也就说将检查线程和计算线程区分开来呢 多线程 线程池
[解决办法]
检测和计算是不同函数啊  开辟一个线程执行一个函数  检查线程传检查函数 其他的传计算函数

还有注意计算函数的安全问题 9个线程同时操作 如果有全局数据 那就存着线程同步的问题
[解决办法]
线程和过程相关联起来,注意共享数据冲突
[解决办法]
检查数据的线程可以单独创建,或者利用参数来区分开来~
[解决办法]
1个线程负责检查数据,其他9个线程来处理数据?

1.你可以定义一个共享变量,如队列:把新来的数据加到队列中,在没有来数据前 其他9个线程sleep/等待。
2.其他9个线程检查这个共享队列的数据,有数据 线程进行处理,处理完,把这个数据从队列中扔到。
3.如果数据一次来的多,可以设置个标志位,标志位为1表面哪些数据正在处理,其他的线程就处理后面新来的
[解决办法]
关联到不同的线程函数不就可以做不同的事情了吗?注意传的参数就行!

热点排行