全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

java线程创建的三种方式

来源:千锋教育
发布人:yyy
2023-06-12

推荐

在线提问>>

  在Java中,有三种常用的方式来创建线程:

  1. 继承Thread类:通过继承Thread类并重写其run()方法来创建线程。下面是创建线程的示例代码:

class MyThread extends Thread {
public void run() {
// 线程执行的逻辑
}
}

// 创建并启动线程
MyThread thread = new MyThread();
thread.start();

   2. 实现Runnable接口:通过实现Runnable接口,并将其作为参数传递给Thread类的构造函数来创建线程。下面是创建线程的示例代码: 

class MyRunnable implements Runnable {
public void run() {
// 线程执行的逻辑
}
}

// 创建并启动线程
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();

   3. 使用Callable和Future:通过实现Callable接口,并使用ExecutorService的submit()方法来创建线程。Callable接口类似于Runnable接口,但它可以返回一个结果,并且可以抛出异常。使用Callable需要使用ExecutorService线程池来管理和执行线程,并通过Future对象获取线程执行的结果。下面是创建线程的示例代码:

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

class MyCallable implements Callable<Integer> {
public Integer call() throws Exception {
// 线程执行的逻辑
return 42; // 返回结果
}
}

// 创建线程池
ExecutorService executor = Executors.newSingleThreadExecutor();

// 提交任务并获取Future对象
MyCallable callable = new MyCallable();
Future<Integer> future = executor.submit(callable);

// 获取线程执行的结果
try {
Integer result = future.get();
System.out.println("线程执行的结果:" + result);
} catch (Exception e) {
// 异常处理
} finally {
// 关闭线程池
executor.shutdown();
}

   无论使用哪种方式创建线程,线程都可以通过调用start()方法来启动,并执行run()方法中定义的逻辑。每种方式都有其适用的场景和特点,需要根据具体需求选择合适的方式来创建线程。

相关文章

java线程创建的三种方式

Java设计模式有哪些

python如何进行内存管理?

java静态内部类的作用是什么?

shiro是什么?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取