(2)利用多线程机制编写程序,输出一个问候语,要求每隔1秒钟输出一个字符。用2种方法分别创建线程。 例如:问候语=“welcome!”,运行结果可能有多种情况,如下表所示,分别
时间: 2024-03-06 07:49:15 浏览: 93
使用Java语言,以下是两种方法分别创建线程的代码实现:
方法1:继承Thread类
```java
public class GreetingThread extends Thread {
private String greeting;
public GreetingThread(String greeting) {
this.greeting = greeting;
}
@Override
public void run() {
for (char c : greeting.toCharArray()) {
System.out.print(c);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
// 在主函数中创建和启动线程
public static void main(String[] args) {
GreetingThread greetingThread = new GreetingThread("welcome!");
greetingThread.start();
}
```
方法2:实现Runnable接口
```java
public class GreetingRunnable implements Runnable {
private String greeting;
public GreetingRunnable(String greeting) {
this.greeting = greeting;
}
@Override
public void run() {
for (char c : greeting.toCharArray()) {
System.out.print(c);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
// 在主函数中创建和启动线程
public static void main(String[] args) {
GreetingRunnable greetingRunnable = new GreetingRunnable("welcome!");
Thread greetingThread = new Thread(greetingRunnable);
greetingThread.start();
}
```
以上两种方法都可以实现每隔1秒钟输出一个字符的功能。方法1继承了Thread类,直接重写run()方法,方法2实现了Runnable接口,重写了run()方法,并把Runnable实例传入Thread类中。两种方法的区别在于线程的创建方式不同,但是都可以达到相同的效果。
阅读全文