"windows服务"?你是只windows应用程式么?
在有窗体的应用程式中,为了不让界面在进行长时间的计算操作时,死掉(不能动).一般情况下,把耗时的操作放在工作线程中完成.这样界面就不会死了.
而且使用线程可以较好的充分利用系统资源.

解决方案 »

  1.   

    呵呵,大家都是这样用,反正我也这样用,如果写windows 服务只是给你使用(不给其他application 可以不开线程,当多个进程都要访问它时,也为了减少内存的占用吧?)
    服务一般都是开线程来做的吧。
      

  2.   

    to  gxxlc(冰良):
    而且使用线程可以较好的充分利用系统资源?
    能仔细解释一下吗?
    我不开线程,我的程序应该就是一个进程,而开了线程的话,程序应该是只有一个线程的进程,我想知道两者的区别
      

  3.   

    服务需要高效的回复能力。
    而且能更好的利用process的时间片。
      

  4.   

    给你举一个例子
    你做了一个服务器,等待客户连接
    如果你只用一个线程的话,那么当你listen的时候,整个程序都会定下来等着,就像是死记了一样。
    但是要使用多线程的话,就可以另开一个线程等待连接,主程序可以干其他的事情建议先看看网络程序,然后再看看
      

  5.   

    而且使用线程可以较好的充分利用系统资源?
    能仔细解释一下吗?
    我不开线程,我的程序应该就是一个进程,而开了线程的话,程序应该是只有一个线程的进程,我想知道两者的区别
    ------------------------
    可以这样理解,因为现在的WINDOWS虽然说是多任务系统,但在单位时间内还是只能处理一个线程,只不过这个单位时间很小很小加上计算机的速度快,我们察觉不出来而已,如果只有一个线程,那么系统在完成这个线程任务以后就把资源留给下一个等待中的线程,所以效率没有那么高,而如果有多个线程的话(线程与进程的区别,楼主请参阅一下《操作系统原理》),那么系统就会为每一个线程都分配资源(这些线程都在轮候系统分配给它们的资源),所以看起来所有线程都是在同时工作一样(因为时间间隔小),所以效率就比单线程的程序要高效,但如果开太多线程的话,会耗尽CPU和内存资源的。