创建线程的3种方式
Posted hellosiyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建线程的3种方式相关的知识,希望对你有一定的参考价值。
1 方式一:创建Thread的子类对象
1-1 创建一个线程,继承 Thread,重写run方法
public class MyThread extends Thread{
public MyThread(String name){
super(name);
}
@Override
public void run(){
for (int i = 0; i < 100; i++) {
System.out.println(getName()+i);
}
}
}
1-2 测试类
public class test2 {
public static void main(String[] args) {
MyThread t1 = new MyThread("线程1");
for (int i = 0; i < 100; i++) {
System.out.println("线程2"+i);
}
t1.start();
}
}
2 方式二:实现 Runnable接口
2-1 编写类,实现Runnable接口
public class MyThread implements Runnable{
@Override
public void run(){
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}
}
测试
public class test2 {
public static void main(String[] args) {
MyThread myThread = new MyThread();
Thread t1 = new Thread(myThread, "线程1");
t1.start();
for (int i = 0; i < 100; i++) {
System.out.println("helloworld");
}
}
}
3 通过线程池创建多线程
编写类,实现Runnable接口
public class MyThread implements Runnable{
@Override
public void run(){
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}
}
创建线程池
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class test2 {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(3);
MyThread myThread = new MyThread();
executorService.submit(myThread);
executorService.submit(myThread);
executorService.submit(myThread);
}
}
以上是关于创建线程的3种方式的主要内容,如果未能解决你的问题,请参考以下文章