创建线程的两种:
1、继承Thread,重写run方法
2、实现Runnable接口,重写run方法
这两种方法都需要实例先调用start方法启动线程,调用run方法,一般来说,比较推荐Runnable接口,这就不受限于单继承的规则
Thread的常用方法:
1、setName(String name)//设置线程名称为name
2、getName()//返回该线程名称
3、start()//启动线程,低层调用的是start0()
4、run()//调用线程
5、setPriority(int newPriority)//更改线程优先级
6、getPriority()//返回线程优先级
7、sleep(long millis)//让当前线程休眠millis毫秒
8、interrupt()//中断进程,不会真正结束进程,一般用于中断正在休眠的进程
9、yield()//让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会,但不一定能成功
10、join()//先让该线程执行完毕后,再执行下一个线程
11、setDaemon(boolean on)//守护进程,主线程结束,该子线程也结束