Your IP : 3.144.255.198


Current Path : /opt/alt/python35/lib64/python3.5/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/__pycache__/queue.cpython-35.opt-2.pyc



���]L"�
@s�yddlZWnek
r0ddlZYnXddlmZddlmZmZddlm	Zddddd	gZ
Gd
d�de�ZGdd�de�Z
Gdd�d�ZGd
d�de�ZGdd	�d	e�ZdS)�N)�deque)�heappush�heappop)�	monotonic�Empty�Full�Queue�
PriorityQueue�	LifoQueuec@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�*/opt/alt/python35/lib64/python3.5/queue.pyr
sc@seZdZdS)rN)rrr
rrrrrsc@s�eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdddd�Z	dddd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS) rrcCsq||_|j|�tj�|_tj|j�|_tj|j�|_tj|j�|_d|_	dS)Nr)
�maxsize�_init�	threading�Lock�mutex�	Condition�	not_empty�not_full�all_tasks_done�unfinished_tasks)�selfrrrr�__init__s	
zQueue.__init__c	Cs\|j�L|jd}|dkrH|dkr;td��|jj�||_WdQRXdS)N�rz!task_done() called too many times)rr�
ValueError�
notify_all)r�
unfinishedrrr�	task_done2s


zQueue.task_donec	Cs2|j�"x|jr&|jj�q
WWdQRXdS)N)rr�wait)rrrr�joinHs	
z
Queue.joinc	Cs|j�|j�SWdQRXdS)N)r�_qsize)rrrr�qsizeUs
zQueue.qsizec	Cs |j�|j�SWdQRXdS)N)rr#)rrrr�emptyZs
zQueue.emptyc
Cs6|j�&d|jko(|j�kSSWdQRXdS)Nr)rrr#)rrrr�fullhs
z
Queue.fullTNc
Cs|j�|jdkr�|s=|j�|jkr�t�n�|dkrux�|j�|jkrq|jj�qLWns|dkr�td��nXt�|}xH|j�|jkr�|t�}|dkr�t�|jj|�q�W|j|�|jd7_|j	j
�WdQRXdS)Nrz''timeout' must be a non-negative numbergr)rrr#rr!r�time�_putrr�notify)r�item�block�timeout�endtime�	remainingrrr�putss&
	


z	Queue.putc	Cs�|j��|s%|j�s�t�n�|dkrTx�|j�sP|jj�q4Wnj|dkrotd��nOt�|}x?|j�s�|t�}|dkr�t�|jj|�qW|j�}|jj�|SWdQRXdS)Nrz''timeout' must be a non-negative numberg)	rr#rr!rr'�_getrr))rr+r,r-r.r*rrr�get�s$
	


z	Queue.getcCs|j|dd�S)Nr+F)r/)rr*rrr�
put_nowait�szQueue.put_nowaitcCs|jdd�S)Nr+F)r1)rrrr�
get_nowait�szQueue.get_nowaitcCst�|_dS)N)r�queue)rrrrrr�szQueue._initcCs
t|j�S)N)�lenr4)rrrrr#�szQueue._qsizecCs|jj|�dS)N)r4�append)rr*rrrr(�sz
Queue._putcCs
|jj�S)N)r4�popleft)rrrrr0�sz
Queue._get)rrr
rr r"r$r%r&r/r1r2r3rr#r(r0rrrrrs
 
c@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r	cCs
g|_dS)N)r4)rrrrrr�szPriorityQueue._initcCs
t|j�S)N)r5r4)rrrrr#�szPriorityQueue._qsizecCst|j|�dS)N)rr4)rr*rrrr(�szPriorityQueue._putcCs
t|j�S)N)rr4)rrrrr0�szPriorityQueue._getN)rrr
rr#r(r0rrrrr	�sc@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r
cCs
g|_dS)N)r4)rrrrrr�szLifoQueue._initcCs
t|j�S)N)r5r4)rrrrr#�szLifoQueue._qsizecCs|jj|�dS)N)r4r6)rr*rrrr(�szLifoQueue._putcCs
|jj�S)N)r4�pop)rrrrr0�szLifoQueue._getN)rrr
rr#r(r0rrrrr
�s)r�ImportError�dummy_threading�collectionsr�heapqrrr'r�__all__�	Exceptionrrrr	r
rrrr�<module>s
�

?>