首先实现线程的两个方法:
1、继承thread;
2、实现接口Runnable类;
这边我就说一下第二种,因此第二种在开发中使用的比较多一些,能避免继承还是少避免继承。
RunnableDemo.java:
class RunnableDemo implements Runnable{ public void run(){ for(int i=0;i<100;i++){ System.out.println("Runnable -->"+i); } } }
Test.java:
class Test{ public static void main(String[] args){ RunnableDemo r = new RunnableDemo(); Thread t = new Thread(r); t.start(); } }
运行结果:
需要添加异常处理,比如修改RunnableDemo.java:
class RunnableDemo implements Runnable{ public void run(){ 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秒。
作用:取得优先级
class Test{ public static void main(String[] args){ RunnableDemo r = new RunnableDemo(); Thread t = new Thread(r); t.start(); System.out.println(t.getPriority()); } }
从下图输出结果来看,默认优先级为5:
作用:设置最大优先级
class Test{ public static void main(String[] args){ RunnableDemo r = new RunnableDemo(); Thread t = new Thread(r); t.start(); t.setPriority(Thread.MAX_PRIORITY); System.out.println(t.getPriority()); } }
输出结果为10,说明最大优先级为10。
原文:https://www.cnblogs.com/endust/p/11878214.html