当前位置: 首页>后端>正文

重新学习python多线程、队列等

启动对线程方法
1、_thread模块中的start_new_thread()函数产生新线程,用法是
_thread.start_new_thread(function,args[,kwargs]) ,其中 args必须是个元组tuple

2、直接从threading.Thread 继承创建一个新的子类,并实例化后调用 start() 方法启动新线程,即它调用了线程的 run() 方法
class myThread (threading.Thread):
def init(self):
threading.Thread.init(self)

                  def run(self):
                              function()

 myThread=myThread()
 myThread.start()

队列:

Python 的 Queue 模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列 PriorityQueue。

这些队列都实现了锁原语,能够在多线程中直接使用,可以使用队列来实现线程间的同步。

Queue 模块中的常用方法:

Queue.qsize() 返回队列的大小
Queue.empty() 如果队列为空,返回True,反之False
Queue.full() 如果队列满了,返回True,反之False
Queue.full 与 maxsize 大小对应
Queue.get([block[, timeout]])获取队列,timeout等待时间
Queue.get_nowait() 相当Queue.get(False)
Queue.put(item) 写入队列,timeout等待时间
Queue.put_nowait(item) 相当Queue.put(item, False)
Queue.task_done() 在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号
Queue.join() 实际上意味着等到队列为空,再执行别的操作


https://www.xamrdz.com/backend/35d1940020.html

相关文章: