这东西能结束吗??

解决方案 »

  1.   

            System.Threading.Thread thread = new System.Threading.Thread("你调用的方法");
            thread.Abort();//结束掉线程
      

  2.   

    同问 System.Threading.Thread thread = new System.Threading.Thread("你调用的方法");
    比如我调用的方法中在下载东西 网路通信之类的。 这时候thread.Abort();结果下载的方法还在工作。
      

  3.   

    就C#而言的话
    还得看情况
      当子线程的IsBackground属性设为false,则主线程结束并不影响其他线程的执行,只有所有子线程都结束,程序结束
      当子线程的IsBackground属性设为true,则主线程的结束,会导致子线程的强迫结束
      

  4.   

    Thread.Abort()只在托管世界有效。
    如果调用Thread.Abort()的时候你的线程正在执行非托管代码,
    要等到它从非托管代码返回托管代码之后才会生效。
    所以你想通过Thread.Abort()来结束一条长时间运行非托管代码的线程是办不到的。
      

  5.   

    应该是用加载到单独的应用程序域
    需要的时候卸载整个应用程序域
    具体的没做过最好是重新设计,选取自带中断机制或者可以插入用户代码控制处理进程的api
      

  6.   

    你说的子线程应该是 aysnc异步操作,他是向进程池里投递要执行的信息的,线程由线程池控制,并不附属于调用他的线程;一般有异步操作的 类 都有停止的函数请查找msdn  
      

  7.   

    你没理解对。。
    你用线程调用API、外部库、程序之类的,调完就和你的线程没关系了
    就像是你戴着手套去泼水,扔球
    泼出去的水,扔出去的球你还想他们在空中继续照你的意思做动作吗。。
    你摘了手套,他们也不会回到你手上来。。
    所以摘手套这招不行。。
      

  8.   

    thread.Abort方法不是很可靠,它会引发一个异常,抓这个异常可以释放资源,但这样其实也不是完全可靠,最好的方法是线程内部不断检测一个退出标志,如果发现设置了退出标志,则用return结束线程,
      

  9.   

    1.线程方法运行完后自己就会结束了
    2.线程出来异常但是又没有在线程方法内捕获那线程结束,并导致应用程序关闭
    3.Thread.Abort是强制关闭线程,是在线程内引发一个特定的异常
    4.线程的IsBackground=true时,主线程退出后它也跟着结束了,IsBackground=false,主线程退出它不会结束