目录
2.使用newFixedThreadPool(int nThreads)
一、继承Thread类
新建一个类,继承Thread。并实现run()。
package threadPackage;
public class DemoThread extends Thread{
@Override
public void run() {
System.out.println("DemoThread 正在执行");
}
}
启动线程
package threadPackage;
public class ThreadMain {
public static void main(String[] args) {
Thread demoThread = new DemoThread();
demoThread.start();
}
}
二、实现Runnable接口
如果继承Thread后并没有重写run(),这时调用的是super.run()。
进入super.run()方法内,查看源码发现如果target不为空时,则执行target.run()。
从源码中我们可以看到target的类型是Runnable。
Thread类正好提供了如下构造器,来接受Runnable参数。
public Thread(Runnable target);
public Thread(Runnable target, String name); // name用来设置线程名称。·
源码如下:
private Runnable target;
@Override
public void run() {
if (target != null) {
target.run();
}
}
a、方式一
新建一个类实现Runnable接口。
package threadPackage;
public class RunnableThread implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+" 正在执行...");
}
}
启动线程
package threadPackage;
public class ThreadMain {
public static void main(String[] args) {
Runnable runnableThread = new RunnableThread();
Thread thread = new Thread(runnableThread, "Runnable线程");
thread.start();
}
}
b、方式二
通过匿名类来创建。
package threadPackage;
public class ThreadMain {
public static void main(String[] args) {
Thread thread = new Thre