A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© slience 中级黑马   /  2012-11-1 21:16  /  1174 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

stop方法已经过时
如何停止线程?
只有一种,run方法结束
开启多线程运行,运行代码通常是循环结构
只要控制住循环,就可以让run方法结束,也就是说线程结束;
当没有指定的方式让冻结的线程恢复到运行状态时,这时需要对冻结进行清除。
强制让线程恢复到运行状态中来,这样就可以操作标记的线程结束了;
即对某个线程调用interrupt();
join方法的使用事例:
class Demo implements Runable
{
        public void run()
        {
                for(int x = 0;x<70;x++)
                {
                        System.out.prinln(Thread.CurrentThread().getName()+"--"+x);//打印当前线程的名字
                }
        }
}
calss JoinDome
{

        public static void main(String[] args)
        {
                Demo d = new Dome();
                Thread t1 = new Thread(d);
                Thread t2 = new Thread(d);
                t1.start();
                t1.Join();//当main线程执行到了t1线程的话,main线程就会等待,等到t1线程执行完之后main线程才可以执行;
                t2.start();               
        }
}
Thread.yied()设置线程暂停使用(就是说能使线程暂停一小会);
t1.setpriority(Thread.MAX_PRIORITY)设置线程的优先级(优先级只有10级),其中的参数有三个常量它们分别是(MAX_PRIORITY,MIN_PRIORITY)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马