java多线程技术_java多线程技术

如何实现线程

首先实现线程的两个方法:

1、继承thread;

2、实现接口Runnable类;

这边我就说一下第二种,因此第二种在开发中使用的比较多一些,能避免继承还是少避免继承。

RunnableDemo.java:

class RunnableDemo implementsRunnable{public voidrun(){for(int i=0;i<100;i++){

System.out.println("Runnable -->"+i);

}

}

}

Test.java:

classTest{public static voidmain(String[] args){

RunnableDemo r= newRunnableDemo();

Thread t= newThread(r);

t.start();

}

}

运行结果:

58ed747b32923f58f505272cc9ea6a1a.png

控制线程的方法

中断线程

Thread.sleep()

需要添加异常处理,比如修改RunnableDemo.java:

class RunnableDemo implementsRunnable{public voidrun(){for(int i=0;i<100;i++){

System.out.println("Runnable -->"+i);if(i == 50){try{

Thread.sleep(2000);

}catch(Exception e){

System.out.println(e);

}

}

}

}

}

运行后会在i等于50的时候睡眠2秒。

Thread.yield()

设置线程的优先级

Thread.getPriority()

作用:取得优先级

classTest{public static voidmain(String[] args){

RunnableDemo r= newRunnableDemo();

Thread t= newThread(r);

t.start();

System.out.println(t.getPriority());

}

}

从下图输出结果来看,默认优先级为5:

488fcdf6cd2f2e9d865563c9bd563226.png

Thread.setPrioority()

作用:设置最大优先级

classTest{public static voidmain(String[] args){

RunnableDemo r= newRunnableDemo();

Thread t= newThread(r);

t.start();

t.setPriority(Thread.MAX_PRIORITY);

System.out.println(t.getPriority());

}

}

输出结果为10,说明最大优先级为10。

521e12edfb980745e8acdf8f8206d5be.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值