关于Python线程创建和终止实例代码的完整攻略,以下是我总结的步骤:
创建线程
1. 导入线程模块
我们需要先导入Python中的线程模块,代码如下:
import threading
2. 定义线程函数
接下来我们需要定义一个线程函数,这个函数将在创建线程实例之后被执行。代码示例如下:
def thread_func():
# 在这里写自己的线程执行逻辑
pass
3. 创建线程实例
有了线程函数之后,我们就可以通过Thread对象创建一个线程实例了。在创建线程时,需要指定要执行的线程函数和传递给线程函数的参数,具体代码如下:
thread = threading.Thread(target=thread_func, args=(arg1, arg2))
其中,target参数指定执行的线程函数,args参数指定传入线程函数的参数,多个参数可以通过元组等方式进行传递。
4. 启动线程
有了线程实例之后,我们还需要通过start()
方法来启动线程。代码如下:
thread.start()
终止线程
1. 方法1 - 使用标志位
通过设置线程的标志位来停止线程,具体步骤如下:
1. 定义标志位
定义一个标志位用来控制线程的停止:
flag = True
2. 停止线程
当线程需要终止时,将标志位设置为False
:
flag = False
3. 线程中断
再在线程中适时检测flag的值,如果为False,则退出循环,停止线程:
while flag:
# 在这里写自己的线程执行逻辑
pass
2. 方法2 - 使用线程对象
通过线程对象的特定方法来终止线程,具体步骤如下:
1. 定义线程函数
需要在线程中适时检测线程状态:
def thread_func():
while True:
# 在这里写自己的线程执行逻辑
if threading.currentThread().stopped():
break
2. 停止线程
可以通过调用线程对象的stop()
方法来停止线程:
thread.stop()
以上就是关于Python线程创建和终止实例代码的完整攻略。如果需要示例,下面提供两个示例说明:
示例1 - 创建线程
下面的代码示例创建一个线程,用于计算从1加到100的结果:
import threading
def count_sum():
sum = 0
for i in range(1, 101):
sum += i
print('1 + 2 + ... + 100 =', sum)
if __name__ == '__main__':
count_thread = threading.Thread(target=count_sum)
count_thread.start()
执行以上代码,将输出结果:1 + 2 + ... + 100 = 5050
示例2 - 终止线程
下面的代码示例创建一个线程,用于打印自然数,并使用第一种方法停止线程:
import threading
import time
def print_num():
i = 0
while True:
if not flag:
print('线程已停止')
break
print(i)
i += 1
time.sleep(1)
if __name__ == '__main__':
flag = True
print_thread = threading.Thread(target=print_num)
print_thread.start()
time.sleep(5)
flag = False # 终止线程
执行以上代码,将输出0~4的自然数。在5秒后将输出线程已停止
,因为此时线程已被终止。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python线程创建和终止实例代码 - Python技术站