何为网站开发,成熟的国产crm系统,济南公司,西安网站建设系统开发在Java中#xff0c;创建线程的方式有多种#xff0c;包括继承Thread类、实现Runnable接口、使用Executor框架、使用Callable和Future等。
1. 继承Thread类
通过继承Thread类并重写run()方法来创建线程。
代码如下#xff1a;
public class MyThread extends Thread {Ov…在Java中创建线程的方式有多种包括继承Thread类、实现Runnable接口、使用Executor框架、使用Callable和Future等。
1. 继承Thread类
通过继承Thread类并重写run()方法来创建线程。
代码如下
public class MyThread extends Thread {Overridepublic void run() {System.out.println(Thread running: Thread.currentThread().getName());}public static void main(String[] args) {MyThread thread new MyThread();thread.start();}
}
2.实现Runnable接口
实现Runnable接口并实现run()方法来创建线程更灵活可以继承其他类。
代码如下
public class MyRunnable implements Runnable {Overridepublic void run() {System.out.println(Thread running: Thread.currentThread().getName());}public static void main(String[] args) {Thread thread new Thread(new MyRunnable());thread.start();}
}
3. 使用Executor框架
通过Executor框架创建线程池提交任务执行。
代码如下
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class ExecutorExample {public static void main(String[] args) {ExecutorService executor Executors.newFixedThreadPool(2);executor.submit(() - {System.out.println(Task 1 Thread.currentThread().getName());});executor.submit(() - {System.out.println(Task 2 Thread.currentThread().getName());});executor.shutdown();}
}
4. 使用Callable和Future
通过实现Callable接口并结合Future来创建带返回值的线程。
代码如下
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;public class CallableExample {public static void main(String[] args) throws Exception {ExecutorService executor Executors.newFixedThreadPool(1);CallableInteger task () - {return 42;};FutureInteger future executor.submit(task);System.out.println(Task result: future.get());executor.shutdown();}
}