Java 定時器,python編程(一種自定義定時器的寫法)

 2023-10-08 阅读 32 评论 0

摘要:【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing @163.com】 ? 沒有合適的定時器庫,自己編寫python定時器code。 #!/usr/bin/pythonimport os import sys import time import threading import signalg_timer_loc

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing @163.com】

? 沒有合適的定時器庫,自己編寫python定時器code。

#!/usr/bin/pythonimport os
import sys
import time
import threading
import signalg_timer_lock = threading.Lock()
g_ticks= []
g_exit = 0def sig_process(sig, frame):global g_exitprint 'get signal'g_exit = 1def insert_ticks(delta):global g_tickscurrent = int(time.time()) + deltatick = []process_flag = 0if 0 == len(g_ticks):g_ticks.append([current, delta])else:for i in range(len(g_ticks)):if current < g_ticks[i][0] and not process_flag:process_flag = 1tick.append([current, delta])tick.append(g_ticks[i])if not process_flag:tick.append([current, delta])g_ticks = tickdef add_timer(delta):g_timer_lock.acquire()insert_ticks(delta)g_timer_lock.release()def timer_process():while not g_exit:g_timer_lock.acquire()current = int(time.time())process_num = 0while not process_num:for i in range(len(g_ticks)):if g_ticks[i][0] < current:process_num = 1breakif process_num:process_num = 0print '%d %d ' %(g_ticks[i][0], g_ticks[i][1])print 'ready to send msg to module'del g_ticks[i]else:process_num = 1g_timer_lock.release()time.sleep(1)def main():signal.signal(signal.SIGINT, sig_process)td = threading.Thread(target=timer_process)td.start()while not g_exit:add_timer(1)add_timer(3)add_timer(2)time.sleep(6)td.join()if __name__ == '__main__':main()


版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/128669.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息