线程的joinable
时间: 2023-05-28 16:01:58 浏览: 164
PP.zip_进程线程练习
属性
线程的joinable属性指示线程是否可被加入(joinable)。如果该属性标记为True则表示该线程是可被加入的,反之则表示该线程不可被加入。
当线程处于运行状态时,它是不可被加入的。只有在线程结束运行后才能够被加入。当线程被加入时,主线程会等待这个线程结束运行才会继续运行。
在C++和Python等编程语言中,线程的joinable属性可以通过调用成员函数joinable()来获取。在C++中,joinable属性为true表示线程可以被加入,为false表示线程不可被加入;在Python中,joinable属性为true表示线程尚未结束,为false表示线程已经结束。
下面是一个简单的Python示例:
```python
import threading
import time
def test():
print("Thread starts.")
time.sleep(5)
print("Thread ends.")
t = threading.Thread(target=test)
t.start()
if t.is_alive():
print("Thread is running.")
else:
print("Thread is not running.")
t.join()
if t.is_alive():
print("Thread is running.")
else:
print("Thread is not running.")
```
输出:
```
Thread starts.
Thread is running.
Thread ends.
Thread is not running.
```
上述代码创建了一个线程,并将其启动。在启动之后,程序首先检查线程是否还在运行,然后等待线程结束。当线程结束后,程序再次检查线程是否还在运行,并打印相应的信息。
阅读全文