哪位牛人能跟我说说线程的Join()
和about有什么差别,如果要结束一个线程用Join()是不是会比较好?
因为有时候用about都不会马上结束,要等待一段时间 ,join(50)又是什么意思?

解决方案 »

  1.   

    abort:在调用此方法的线程上引发 ThreadAbortException,以开始终止此线程的过程。调用此方法通常会终止线程
    join:阻塞调用线程,直到某个线程终止或者经过了指定的时间为止
      

  2.   

    join:阻塞调用线程,直到某个线程终止或者经过了指定的时间为止
      

  3.   

    两个的效果都不一样
    看你是要拿来做啥子了
    join只能阻塞线程,abort能强行引发异常,结束线程
    如果是拿来做多线程控制管理,结束线程,虽然abort比较方便
    但我觉得用abort不好
    还不如自己另外加程序进行处理控制
      

  4.   

    interrupt():比较“礼貌”的结束线程,一般用于线程当前的工作已经没有意义的时候
    abort():比较“粗暴”的中止线程,一般用于用户中止操作
    join():让当前线程先歇歇,等一会再干活
    给你举个例子,
    使用多线程扫描局域网里的机器,对于可以连接的机器,
    尝试administrator密码。建立有2种线程:
    A类线程:ping局域网中的机器,看是否可以建立连接
    B类线程:通过字典之类的方式,尝试administrator密码现在,有一个线程A1进行ping,对于一台ping通的机器,有两个线程B1、B2进行猜密码于是,
    A1开始工作(start()),B1、B2先等等(join())
    A1找到一台机器,B1、B2开始猜,
    B1已经找到了密码,B1、B2都可以停了(interrupt())
    A1还在继续找,
    这时用户中止了,A1、B1、B2都中止(abort())
    注意!
    以上只是一个用于说明的例子,绝对不是一个好的多线程方案