使用继承Thread的方式,创建一个线程。在main线程中循环打印学号20次,在新线程中会先循环打印你的姓名20次,然后sleep1秒,然后打印你的姓名20次
时间: 2024-03-20 14:39:02 浏览: 65
好的,以下是代码实现:
```python
import threading
import time
class MyThread(threading.Thread):
def run(self):
for i in range(20):
print("My name is ChitGPT.")
time.sleep(1)
for i in range(20):
print("My name is ChitGPT.")
if __name__ == '__main__':
t = MyThread()
t.start()
for i in range(20):
print("My student ID is 123456.")
```
在这个例子中,我们创建了一个继承自Thread的新类MyThread,它重写了Thread类的run方法,用于运行线程。
在main函数中,我们创建了一个MyThread的实例t,并调用start方法启动线程。同时,在main线程中,我们循环打印学号20次。
在MyThread的run方法中,我们先循环打印姓名20次,然后使用time.sleep方法使线程休眠1秒,最后再循环打印姓名20次。
在程序执行过程中,我们会看到交替输出学号和姓名的信息,而且MyThread的输出会先于main线程的输出。
相关问题
使用继承Thread的方式,创建一个线程。在main线程中循环打印学号20次,在新线程中会先循环打印你的姓名20次,然后sleep1秒,然后打印你的姓名20次。学号和姓名交替
好的,以下是代码实现:
```python
import threading
import time
class MyThread(threading.Thread):
def run(self):
for i in range(20):
print("My name is ChitGPT.")
time.sleep(1)
print("My name is ChitGPT.")
if __name__ == '__main__':
t = MyThread()
t.start()
for i in range(20):
print("My student ID is 123456.")
```
在这个例子中,我们同样创建了一个继承自Thread的新类MyThread,它重写了Thread类的run方法,用于运行线程。
在main函数中,我们创建了一个MyThread的实例t,并调用start方法启动线程。同时,在main线程中,我们循环打印学号20次。
在MyThread的run方法中,我们先循环打印姓名20次,然后使用time.sleep方法使线程休眠1秒,最后再循环打印姓名20次。这里和上一个例子不同的是,我们将姓名的输出放在了循环内部,这样就可以和学号的输出交替出现。
在程序执行过程中,我们会看到交替输出学号和姓名的信息,而且MyThread的输出会先于main线程的输出。
使用runnable接口方式,创建一个线程,在main中打印学号一千次,在新线程中打印姓名一千次
好的,我来给您编写代码:
```java
public class TestThread {
public static void main(String[] args) {
// 创建一个Runnable对象,用于打印学号
Runnable printId = () -> {
for (int i = 1; i <= 1000; i++) {
System.out.println("学号:" + i);
}
};
// 创建一个线程并启动
new Thread(printId).start();
// 打印姓名
for (int i = 1; i <= 1000; i++) {
System.out.println("姓名:张三");
}
}
}
```
在这个例子中,我们使用了Lambda表达式来创建一个Runnable对象,然后将其传递给Thread构造函数。在main方法中,我们首先创建并启动一个新线程,该线程负责打印学号;然后在主线程中打印姓名。由于两个线程是并行执行的,因此输出顺序可能会有所不同。
阅读全文