ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Java多线程——并发和并行、实现方法

2026/8/8 0:36:45 拓冰建站 浏览量
Java多线程——并发和并行、实现方法

多线程


并发和并行


实现方法

代码演示

方式一

package com.qiong.thread1;public class MyThread extends Thread{@Overridepublic void run() {for (int i = 0; i < 20; i++) {System.out.println(getName() + "Hello World");}}
}
package com.qiong.thread1;public class ThreadDemo1 {public static void main(String[] args) {MyThread t1 = new MyThread();MyThread t2 = new MyThread();t1.setName("线程一");t2.setName("线程二");//开启线程t1.start();t2.start();/*线程二Hello World线程二Hello World线程二Hello World线程一Hello World线程一Hello World线程二Hello World线程一Hello World*/}
}

方式二

package com.qiong.thread2;public class MyRun implements Runnable{@Overridepublic void run() {for (int i = 0; i < 20; i++) {Thread thread = Thread.currentThread();System.out.println(thread.getName() + "Hello World");}}
}
package com.qiong.thread2;public class ThreadDemo {public static void main(String[] args) {MyRun mr = new MyRun();Thread t1 = new Thread(mr);Thread t2 = new Thread(mr);t1.setName("线程1");t2.setName("线程2");t1.start();t2.start();/*线程二Hello World线程二Hello World线程二Hello World线程一Hello World线程一Hello World线程二Hello World线程一Hello World*/}
}

方式三

package com.qiong.thread3;import java.util.concurrent.Callable;public class MyCallable implements Callable<Integer> {@Overridepublic Integer call() throws Exception {//求1~100之间的和int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}return sum;}
}
package com.qiong.thread3;import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;public class ThreadDemo {public static void main(String[] args) throws ExecutionException, InterruptedException {MyCallable mc = new MyCallable();FutureTask<Integer> ft = new FutureTask<>(mc);Thread t1 = new Thread(ft);t1.start();Integer result = ft.get();System.out.println(result);//结果:5050}}