如何让两个线程交替运行
1个回答
展开全部
最近在学习研究多线程,还有异步编程方面的知识,结合自己做的项目,遇到这样一个问题:
写了一个程序,它是个控制台程序,会一直运行直到程序关闭,我想用线程实现的方法是通过一个线程每过五分钟或者一分钟,将这一段时间控制台上显示的内容写入txt里面,保存下来,但是写入的时候,控制台程序还在运行,到下一个一分钟后,在将第二个一分钟的内容写入txt里面保存下来。
大概过程是这样:比如在控制台程序他会一直输入1,2,3,4,5,,,,,N,一分钟后,比如写到60,这时候就将1到60写入到txt文件中,不能影响程序的运行,等第二个一分钟过后,比如写到120,就将61到120写入txt文件中,一直延续下去
这个应该如何实现,我个人认为要用两个线程交替工作,一开始线程1工作,一直监视程序运行,一分钟后线程1将数据写入文本文件,这时候线程2开始监视程序运行,一分钟后将数据写入文本,不然我觉得一个线程写会漏掉数据。
大家觉得可行吗,有实现的代码就更好了。之前一直没接触过多线程编程问题,有点无处下手的感觉。
0
用一个变量专门标记已经写入的数据,比如产生数据线程产生了0-60的数据,那另以个写入线程开始工作,把60保存为标记变量,下一次开始写入的时候就从61开始。
写了一个程序,它是个控制台程序,会一直运行直到程序关闭,我想用线程实现的方法是通过一个线程每过五分钟或者一分钟,将这一段时间控制台上显示的内容写入txt里面,保存下来,但是写入的时候,控制台程序还在运行,到下一个一分钟后,在将第二个一分钟的内容写入txt里面保存下来。
大概过程是这样:比如在控制台程序他会一直输入1,2,3,4,5,,,,,N,一分钟后,比如写到60,这时候就将1到60写入到txt文件中,不能影响程序的运行,等第二个一分钟过后,比如写到120,就将61到120写入txt文件中,一直延续下去
这个应该如何实现,我个人认为要用两个线程交替工作,一开始线程1工作,一直监视程序运行,一分钟后线程1将数据写入文本文件,这时候线程2开始监视程序运行,一分钟后将数据写入文本,不然我觉得一个线程写会漏掉数据。
大家觉得可行吗,有实现的代码就更好了。之前一直没接触过多线程编程问题,有点无处下手的感觉。
0
用一个变量专门标记已经写入的数据,比如产生数据线程产生了0-60的数据,那另以个写入线程开始工作,把60保存为标记变量,下一次开始写入的时候就从61开始。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询