一、中断线程
1、Thread.sleep()让线程休眠,以毫秒计算 例如:Thread.sleep(2000);
该方法会产生异常,需要使用try……catch语句
2、Thread.yield()主动让出cpu,但是该线程可以再次参与抢占cpu
二、线程的优先级 优先级范围1~10 优先级越高的线程执行的概率就越大
1、getPriority()
2、setPriority()
class RunnableImpl implements Runnable
{
public void run()
{
for(int i = 0;i<100;i++)
{
System.out.println("RunnableImpl-->" + i);
if(i == 50)
{
try
{
Thread.sleep(2000);
}
catch (InterruptedException e)
{
System.out.println(e.getMessage());
}
}
}
}
}
class Test
{
public static void main(String args [])
{
//生成Runnable接口实现类的对象
RunnableImpl ri = new RunnableImpl();
//生成一个Thread对象,并将Runnable接口实现类的对象作为参数传递给Thread对象
Thread th = new Thread(ri);
//通知Thread对象执行start()方法
th.setPriority(Thread.MAX_PRIORITY); //最大优先级 10
//th.setPriority(Thread.MIN_PRIORITY); //最小优先级 1
th.start();
System.out.println(th.getPriority());
}
}
//中断线程
//Thread.sleep(); 线程休眠,以毫秒计算 调用会产生异常InterruptedException
//Thread.yield(); 线程让步,暂停当前正在执行的线程对象,把执行机会让给相同或者更高优先级的线程
//设置线程的优先级 线程的优先级介于1~10,可以通过Thread的静态变量来进行设置
//setPriority(); 设置线程的优先级
//getPriority(); 获取线程的优先级