因为进澳门新葡亰518网址程结束之前需要通知子线程结束循环

当前位置:澳门新葡亰518网址 > 澳门新葡亰518网址 > 因为进澳门新葡亰518网址程结束之前需要通知子线程结束循环
作者: 澳门新葡亰518网址|来源: http://www.troy-rice.com|栏目:澳门新葡亰518网址

文章关键词:澳门新葡亰518网址,单线程

  我只开一个单线程来实现下载,网址很多,我想下完一个接着下另一个。这样就涉及到第一个下载完成以后(线程结束),怎样重新启动这个线程来下第二个。(直到所有的网址下完,线程结束,整个过程是自动的),请问怎么处理?谢谢

  任务相关信息放在队列中,挨个下载.中间不需要销毁线程,所有下完再销毁.

  不用循环,线程结束后有没有结束的消息,然后通过此消息再重新启动线程,或者别的方法?我需要代码和方法

  dengzikun兄弟能在详细点吗,我是C新手,最好能简单给一些代码,关键是:“下载线程退出后,怎样重新启动.

  dengzikun兄弟能在详细点吗,我是C新手,最好能简单给一些代码,关键是:“下载线程退出后,怎样重新启动.

  看一下事件CEvent就知道了,下载线程结束的时候通知主线程,主线程接到通知后判断是否还有网址,有网址就再启动下载线程呗。给你粘一点事件的资料:

  在头文件中定义事件CEventThreadBegin,这样创建的时间默认是自动事件,事件被创建后就自动处于非信号态,要使用它处于信息态,必须使用对件对象的成员函数SetEvent(),即:

  等待函数的第二个参数可以设置为INFINITE,比如当启动一个子线程时,可以设置为这个值,澳门新葡亰518网址如果执行子线程的时机未到,则子线程就一直等待,直到主线程将启动子线程的事件设置为有信号状态了,子线程才能够不再挂起,继续执行下面的语句。

  第二个参数也可以设置为0值,如果子线程中需要不断地循环,直到进程结束,因为进程结束之前需要通知子线程结束循环,也就是结束子线程,可以通过将等待函数的第二个参数设为0来结束循环。进程结束的时候,使事件变为有信号状态,循环捕捉到这个信息即停止循环。

  可以通过WaitForSingleObject函数来间隔的执行一个线程函数的函数体

  在这个线程函数中可以可以通过设置MT_INTERVAL来控制这个线程的函数体多久执行一次,当事件为无信号状态时函数体隔MT_INTERVAL执行一次,当设置事件为有信号状态时,线程就执行完毕了。

  感谢过客,Sandy945,vrhero,......及各位朋友关注...

  不用开多个线程,一个就好,频繁开线程影响效率,在一个线程中循环做,下完一个,继续下另一个.

  ,那么自然存在两个常见问题:如何充分利用多核cpu服务器(单进程只会在一个核上进行处理)、如何保证进程健壮性(单线程导致爆出的异常没有被捕捉就会引起整个进程的崩溃)。 多进程...JS单线程问题

  单线程与多线程的区别什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。...

  单元中,因此无法实例化 ActiveX 控件解决办法br /(一)引经据典(MSDN): 1.单元是进程内部具有相同线程访问要求的对象的逻辑容器。...托管线程可以创建并进入只允许有一个线程的单线程

  是否能加快处理速度问:多线程是不是能加快处理速度? 解析: ...假设我要拷贝100万条数据,单CPU电脑,用一个进程,在单线程

  单线程和多线程的优缺点单线程和多线程的优缺点 多线程处理的优点 同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。如果完成同步任务所用的时间比预计时间长,...

  使用单线程还是多线程的问题对于处理时间短的服务或者启动频率高的要用单线程,相反用多线程!  不论什么时候只要能用

  相信你一定不止一次见过Redis是单线程模式,不过说实话那只是个老版本,这个问题是一位老哥的大厂面试题,跟我分享了一下。想着自己就知道redis6.0以前一直都是

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!