利用定时调度的方式修改全局变量:
代码如下
import time
from apscheduler.schedulers.background import BackgroundScheduler
global_bar = 10
def modify_global_var():
global global_bar
global_bar += 10
print(global_bar)
print(global_bar)
scheduler = BackgroundScheduler()
scheduler.add_job(modify_global_var, trigger='interval', seconds=2)
scheduler.start()
# 主线程等待一段时间后结束
time.sleep(10)
# 关闭调度器
scheduler.shutdown()
print("主线程结束")
print(global_bar)
结果如下
如果不用global声明全局变量的结果如下:
代码如下
import time
from apscheduler.schedulers.background import BackgroundScheduler
global_bar = 10
def modify_global_var(global_bar):
# global global_bar
global_bar += 10
print(global_bar)
print(global_bar)
scheduler = BackgroundScheduler()
scheduler.add_job(modify_global_var, args=(global_bar, ), trigger='interval', seconds=2)
scheduler.start()
# 主线程等待一段时间后结束
time.sleep(10)
# 关闭调度器
scheduler.shutdown()
print("主线程结束")
print(global_bar)