Threading模块是Python的一个并发模块,可以用它来进行一个多线程的开发。
现在有如下的一个需求,在主程序运行逻辑不变的情况下,起一个线程,该线程等间隔时间执行一个业务逻辑。
示例代码如下:
data_recv_Thread = threading.Thread(target=data_recv(client))
data_recv_Thread.start()
get_motor_data = threading.Thread(target=get_motor_data())
get_motor_data.start()
但是发现了线程阻塞,即只执行了第一个子线程,没用执行后面的线程。
data_recv_Thread = threading.Thread(target=data_recv,args=(client,))
data_recv_Thread.start()
get_motor_data = threading.Thread(target=get_motor_data)
get_motor_data.start()
改成如下即可。传参的方式需要注意,必须使用args。同时注意,传入的格式必须是一个元组,所以逗号是必须有的(就是client后面的逗号),不然还会出现问题。