python多线程,两个while True

    科技2025-10-16  13

    python多线程实现同时执行两个while循环 如果想同时执行两个while True循环,可以使用多线程threading来实现。 python串口通信与tkinter gui界面:https://blog.csdn.net/qq_40889820/article/details/100150253 完整代码

    from time import sleep, ctime import threading def muisc(func): while True: print ('Start playing: %s! %s' %(func,ctime())) sleep(2) def move(func): while True: print ('Start playing: %s! %s' %(func,ctime())) sleep(5) def player(name): r = name.split('.')[1] if r == 'mp3': muisc(name) else: if r == 'mp4': move(name) else: print ('error: The format is not recognized!') list = ['爱情买卖.mp3','阿凡达.mp4'] threads = [] files = range(len(list)) #创建线程 for i in files: t = threading.Thread(target=player,args=(list[i],)) threads.append(t) if __name__ == '__main__': #启动线程 for i in files: threads[i].start() for i in files: threads[i].join() #主线程 print ('end:%s' %ctime())

    效果: 本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141331.htm

    gui 串口代码:

    import serial,threading import tkinter as tk window = tk.Tk() window.title("My window") window.geometry('500x300') str = tk.StringVar() str.set('Start') ser = serial.Serial('COM6')#我这里用到的串口是COM6,若不同注意修改 ser.baudrate=9600 ReadyToStart = True def startButton(): if(ReadyToStart): str.set('Running') button = tk.Button(window, textvariable=str, command=startButton).grid() OutputText = tk.Text(window, wrap=tk.WORD, width=70, height=20) OutputText.grid() def ReadUART():#接收串口数据 while (True): try: idx = int.from_bytes(ser.read(1), byteorder='big', signed=False)#转化为整型数字 OutputText.insert(tk.END, idx) OutputText.insert(tk.END, ' ') #print(idx, end='') except: print("Something wrong") ReadUARTThread = threading.Thread(target=ReadUART)#多线程 ReadUARTThread.start() window.mainloop()
    Processed: 0.009, SQL: 8