from threading import Thread
import time
def countdown(n):
while n > 0:
print('T-minus:', n)
n -= 1
t = Thread(target=countdown, args=(10,))
t.start() # 开启线程
time.sleep(2)
if t.is_alive() is True:
print("停止线程...")
t._stop() # 停止线程
from queue import Queue
from threading import Thread
class kill:
def terminate(self, t):
if t.isAlive is True:
t._stop()
def product(out_q):
for i in range(5):
out_q.put(i)
def consumer(in_q):
for i in range(5):
print(in_q.get())
q = Queue()
t1 = Thread(target=consumer, args=(q,))
t2 = Thread(target=product, args=(q,))
t1.start()
t2.start()
k = kill() # 查询线程是否终止,防止阻塞...
k.terminate(t1)
k.terminate(t2)
from collections import deque
def countdown(n):
while n > 0:
print("T-minus", n)
yield # 返回之后下次直接从这里执行...相当于C#里面得yield return .
n -= 1
print("this is countdown!!!")
def countup(n):
x = 0
while x < n:
print("Counting up", x)
yield
x += 1
class TaskScheduler:
def __init__(self):
self._task_queue = deque()
def new_task(self, task):
self._task_queue.append(task)
def run(self):
while self._task_queue:
task = self._task_queue.popleft()
try:
next(task)
self._task_queue.append(task)
except StopIteration:
pass
sche = TaskScheduler()
sche.new_task(countdown(10))
sche.new_task(countdown(5))
sche.new_task(countup(15))
sche.run()
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有