java中的线程(三)——控制线程的几种简单的方法和线程同步

来源:互联网 发布:一个端口的tcp连接数 编辑:程序博客网 时间:2024/05/17 06:26
一、中断线程

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);//最小优先级1th.start();System.out.println(th.getPriority());}}//中断线程//Thread.sleep();   线程休眠,以毫秒计算  调用会产生异常InterruptedException//Thread.yield();   线程让步,暂停当前正在执行的线程对象,把执行机会让给相同或者更高优先级的线程//设置线程的优先级线程的优先级介于1~10,可以通过Thread的静态变量来进行设置//setPriority();    设置线程的优先级//getPriority();    获取线程的优先级



0 0
原创粉丝点击