这篇文章主要介绍“java中有哪些创建线程的方法”,在日常操作中,相信很多人在java中有哪些创建线程的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中有哪些创建线程的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
继承Thread类
public class ExtendsThreadTest extends Thread {
@Override
public void run() {
System.out.println("thread is running!");
}
public static void main(String[] args) {
ExtendsThreadTest et1 = new ExtendsThreadTest();
et1.start();
}
}
实现Runnable接口
public class RunnableTest implements Runnable{
@Override
public void run() {
System.out.println("thread is running!");
}
public static void main(String[] args) {
Thread t1 = new Thread(new RunnableTest());
t1.start();
}
}
匿名内部类的两种写法
public class App {
public static void main(String[] args){
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("thread1 is running!");
}
}){}.start();
new Thread(){
@Override
public void run(){
System.out.println("thread2 is running!");
}
}.start();
}
}
基于java.util.concurrent.Callable工具类的实现,带返回值
public class CallableTest {
public static void main(String[] args) throws Exception {
Callable<Integer> call = new Callable<Integer>() {
@Override
public Integer call() throws Exception {
System.out.println("thread is running!");
return 1;
}
};
FutureTask<Integer> task = new FutureTask<>(call);
Thread t = new Thread(task);
t.start();
}
}
基于java.util.Timer工具类的实现
public class TimerTest {
public static void main(String[] args) throws Exception {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("thread is running!");
}
}, new Date());
}
}
基于java.util.concurrent.Executors工具类,基于线程池的实现
public class ThreadPoolTest {
public static void main(String[] args) {
// 创建线程池
ExecutorService threadPool = Executors.newFixedThreadPool(10);
while(true) {
threadPool.execute(new Runnable() { // 提交多个线程任务,并执行
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " is running ..");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
}
}
到此,关于“java中有哪些创建线程的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注天达云网站,小编会继续努力为大家带来更多实用的文章!