编写一个多线程演示程序,其中一个线程每隔2秒输出6个“hello”,另一个线程每1秒输出5个“good”
时间: 2024-03-11 17:43:39 浏览: 115
以下是一个简单的多线程演示程序,其中一个线程每隔2秒输出6个“hello”,另一个线程每1秒输出5个“good”:
```python
import threading
import time
def say_hello():
for i in range(3):
print("hello " * 6)
time.sleep(2)
def say_good():
for i in range(5):
print("good " * 5)
time.sleep(1)
if __name__ == "__main__":
thread1 = threading.Thread(target=say_hello)
thread2 = threading.Thread(target=say_good)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
```
这个程序使用了 Python 的 threading 模块来创建两个线程。第一个线程每隔2秒输出6个“hello”,使用了 time 模块的 sleep 函数来实现等待。第二个线程每1秒输出5个“good”。
在主程序中,我们创建了两个线程,并使用 start 方法启动它们。然后使用 join 方法等待线程结束,以确保所有线程都执行完毕。最后,程序退出。
相关问题
Java编写一个多线程演示程序,其中一个线程每隔2秒输出6个“hello”,另一个线程每1秒输出5个“good”
以下是一个简单的多线程演示程序,其中一个线程每隔2秒输出6个“hello”,另一个线程每1秒输出5个“good”:
```java
public class MultiThreadDemo {
public static void main(String[] args) {
Thread thread1 = new Thread(() -> {
for (int i = 0; i < 3; i++) {
System.out.println("hello hello hello hello hello hello");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
Thread thread2 = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println("good good good good good");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread1.start();
thread2.start();
try {
thread1.join();
thread2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```
这个程序使用了 Java 的线程机制来创建两个线程。第一个线程每隔2秒输出6个“hello”,使用了 Thread.sleep 函数来实现等待。第二个线程每1秒输出5个“good”。
在主程序中,我们创建了两个线程,并使用 start 方法启动它们。然后使用 join 方法等待线程结束,以确保所有线程都执行完毕。最后,程序退出。
(2)利用多线程机制编写程序,输出一个问候语,要求每隔1秒钟输出一个字符。用2种方法分别创建线程。
好的,我来回答你的问题。
首先,我们可以使用 Python 的 threading 模块来实现多线程,下面是两种不同的创建线程的方法:
方法一:使用 threading.Thread 类
```python
import threading
import time
def print_hello():
for i in range(10):
print("Hello")
time.sleep(1)
def print_world():
for i in range(10):
print("World")
time.sleep(1)
t1 = threading.Thread(target=print_hello)
t2 = threading.Thread(target=print_world)
t1.start()
t2.start()
t1.join()
t2.join()
```
方法二:继承 threading.Thread 类
```python
import threading
import time
class HelloThread(threading.Thread):
def run(self):
for i in range(10):
print("Hello")
time.sleep(1)
class WorldThread(threading.Thread):
def run(self):
for i in range(10):
print("World")
time.sleep(1)
t1 = HelloThread()
t2 = WorldThread()
t1.start()
t2.start()
t1.join()
t2.join()
```
这两种方法的输出结果都是每隔 1 秒钟输出一个字符,其中一个输出 "Hello",另一个输出 "World"。
希望我的回答对你有帮助!
阅读全文