千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:济南千锋IT培训  >  技术干货  >  java线程创建的三种方式

java线程创建的三种方式

来源:千锋教育
发布人:yyy
时间: 2023-06-12 17:32:00

  在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()方法中定义的逻辑。每种方式都有其适用的场景和特点,需要根据具体需求选择合适的方式来创建线程。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

Java设计模式有哪些

2023-06-09

python如何进行内存管理?

2023-06-08

shiro是什么?

2023-06-06

最新文章NEW

html和html5的概念

2023-04-20

pandas操作:JSON自动解析为DataFrame

2023-02-24

pandas操作:变量类型自动转换

2023-02-23

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>