新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

java多线程并发执行怎么实现,Java多线程并发面试

发布时间:2023-09-27 01:12:55

java多线程并发履行怎样实现

在Java中实现多线程的并发履行有多种方式,以下是其中的几种常见方法:

  1. 继承Thread类:创建一个继承自Thread类的子类,并重写其run()方法。然后创建多个该子类的实例,并调用start()方法来启动线程。
class MyThread extends Thread {
public void run() {
// 线程履行的代码
}
}
public class Main {
public static void main(String[] args) {
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();
}
}
  1. 实现Runnable接口:创建一个实现了Runnable接口的类,并实现其run()方法。然后创建多个该类的实例,并将其作为参数传递给Thread类的构造方法,并调用start()方法来启动线程。
class MyRunnable implements Runnable {
public void run() {
// 线程履行的代码
}
}
public class Main {
public static void main(String[] args) {
MyRunnable runnable1 = new MyRunnable();
MyRunnable runnable2 = new MyRunnable();
Thread thread1 = new Thread(runnable1);
Thread thread2 = new Thread(runnable2);
thread1.start();
thread2.start();
}
}
  1. 使用线程池:创建一个线程池,通过调用ExecutorService接口的submit()方法或execute()方法来提交任务。线程池会自动管理线程的创建和烧毁。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
class MyTask implements Runnable {
public void run() {
// 线程履行的代码
}
}
public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(new MyTask());
executor.submit(new MyTask());
executor.shutdown();
}
}

不管使用哪一种方式,多线程并发履行都需要注意线程安全性和数据同步的问题,避免出现并发访问共享数据时的毛病。可使用synchronized关键字或Lock对象来实现线程之间的同步。