实现多线程的方式有以下几种:\n\n1. 使用Thread类:创建一个Thread类的实例,重写run()方法,并调用start()方法启动线程。\n\njava\nclass MyThread extends Thread {\n public void run() {\n // 线程执行的代码\n }\n}\n\npublic class Main {\n public static void main(String[] args) {\n Thread thread = new MyThread();\n thread.start();\n }\n}\n\n\n2. 实现Runnable接口:创建一个实现了Runnable接口的类,重写run()方法,并将其传递给Thread类的构造方法创建线程对象。\n\njava\nclass MyRunnable implements Runnable {\n public void run() {\n // 线程执行的代码\n }\n}\n\npublic class Main {\n public static void main(String[] args) {\n Thread thread = new Thread(new MyRunnable());\n thread.start();\n }\n}\n\n\n3. 使用Callable和Future:创建一个实现了Callable接口的类,重写call()方法,并使用ExecutorService的submit()方法提交任务,返回一个Future对象。\n\njava\nimport java.util.concurrent.Callable;\nimport java.util.concurrent.ExecutorService;\nimport java.util.concurrent.Executors;\nimport java.util.concurrent.Future;\n\nclass MyCallable implements Callable<String> {\n public String call() throws Exception {\n // 线程执行的代码\n return "result";\n }\n}\n\npublic class Main {\n public static void main(String[] args) {\n ExecutorService executorService = Executors.newFixedThreadPool(1);\n Future<String> future = executorService.submit(new MyCallable());\n try {\n String result = future.get();\n } catch (Exception e) {\n e.printStackTrace();\n }\n executorService.shutdown();\n }\n}\n\n\n4. 使用线程池:使用ExecutorService创建一个线程池,通过submit()方法提交任务给线程池执行。\n\njava\nimport java.util.concurrent.ExecutorService;\nimport java.util.concurrent.Executors;\n\npublic class Main {\n public static void main(String[] args) {\n ExecutorService executorService = Executors.newFixedThreadPool(5);\n for (int i = 0; i < 5; i++) {\n executorService.submit(new Runnable() {\n public void run() {\n // 线程执行的代码\n }\n });\n }\n executorService.shutdown();\n }\n}\n

Java 多线程实现方式详解:Thread, Runnable, Callable, 线程池

原文地址: http://www.cveoy.top/t/topic/pVVW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录