守护线程
守护线程,也叫后台线程;
默认情况下:当主线程执行完成以后,如果还有其他的线程时,程序并不会结束,直到其他的线程也执行完成,程序才会结束。但是,如果其他线程为守护线程,则不影响;
主线程执行完成后,还有守护线程存在,则程序直接结束。
垃圾回收(是一个线程)就是一个守护线程
代码如下:
Thread thread = new Thread(myRunnable);
//设置线程为守护线程 该方法必须在启动线程前调用。
thread.setDaemon(true);
//判断线程是否为守护线程
thread.isDaemon();
thread.start();
注意该方法必须在线程启动之前调用,这个道理很简单的,你线程都跑起来了,这个方法也就改变不了什么了。
设置线程的优先级
什么意思呢,作为优先级来说,线程优先级越高的越先去排队。也就是可以插队,怎么说呢,可以理解成人民币玩家哈哈。
代码如下:
/更改线程的优先级的三个常量 Thread.MIN_PRIORITY Thread.NORM_PRIORITY Thread.MAX_PRIORITY
//取值范围只能是1-10 否则会抛异常
thread.setPriority(Thread.NORM_PRIORITY);
//获取线程的优先级
thread.getPriority();
常量值如下:

线程休眠
try {
//线程休眠,是一个静态方法 单位是毫秒
Thread.sleep(1000);
//线程休眠 单位是毫秒和纳秒
// Thread.sleep(millis, nanos);
} catch (InterruptedException e) {
e.printStackTrace();
}
线程休眠就是让线程暂停一定的毫秒数在启动执行。
线程打断
thread.interrupt();//中断线程 当线程处于休眠状态时,可以调用该方法叫醒线程,但是线程会抛出一个异常java.lang.InterruptedException: sleep interrupted
thread.isInterrupted();//判断线程是否被中断
线程添加
MyRunnable2 myRunnable = new MyRunnable2("b");
Thread thread = new Thread(myRunnable);
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
thread.start();
还有一些小的方法
thread.currentThread();//获取当前正在执行的线程
thread.getName();//获取线程的名字
thread.isAlive();//线程是否还活动
thread.yield()//暂停线程,暂停当前正在执行的线程对象,并执行其他线程。
4万+

被折叠的 条评论
为什么被折叠?



