java 多线程实例
时间: 2023-11-21 09:57:27 浏览: 49
Java多线程是指在同一时间内,有多个线程在同一进程中运行。Java多线程可以提高程序的效率和性能,使得程序可以同时处理多个任务。Java多线程的实现有两种方式:继承Thread类和实现Runnable接口。其中,继承Thread类需要重写run()方法,而实现Runnable接口需要实现run()方法。另外,Java还提供了Callable和FutureTask接口,可以实现带返回值的多线程任务。在创建线程时,可以使用start()方法启动线程,使用join()方法等待线程执行结束。同时,Java还提供了synchronized关键字和Lock接口来实现线程同步,避免线程间的竞争和冲突。
相关问题
java 多线程例子
这里给出一个简单的 Java 多线程例子,通过创建两个线程来实现输出数字和字母的交替打印:
```java
public class ThreadExample {
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
public void run() {
for (int i = 1; i <= 10; i++) {
System.out.print(i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
Thread t2 = new Thread(new Runnable() {
public void run() {
char c = 'A';
for (int i = 0; i < 10; i++) {
System.out.print(c++);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
t1.start();
t2.start();
}
}
```
这个例子中,我们创建了两个线程 t1 和 t2,分别输出数字和字母。在每次输出后,线程会通过 `Thread.sleep(500)` 方法暂停 500 毫秒,然后再继续执行下一次输出,从而实现了数字和字母的交替打印。
java多线程例子
以下是一个简单的Java多线程例子:
```java
public class MultiThreadExample {
public static void main(String[] args) {
// 创建并启动两个线程
Thread thread1 = new MyThread("Thread 1");
Thread thread2 = new MyThread("Thread 2");
thread1.start();
thread2.start();
}
}
class MyThread extends Thread {
private String name;
public MyThread(String name) {
this.name = name;
}
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.println(name + " - " + i);
try {
Thread.sleep(1000); // 线程休眠1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
```
上述代码创建了两个线程,分别打印出1到5的数字。注意到`MyThread`类继承了`Thread`类,并且重写了`run()`方法,该方法中包含了线程需要执行的任务。在`main()`方法中,我们创建了两个`MyThread`对象,并且分别启动了这两个线程。当线程启动后,它们将交替执行任务,每隔1秒打印一次输出。