Your IP : 216.73.216.213
V�EV45 � @ s� d d l Z d d l Z d d l Z d d l Z d d l m Z d d l Z d d l m Z d d l m Z d Z d d � e
d d � D� Z d Z d
d � Z
d d d
� Z d d � Z Gd d � d e j � Z d S)� N)�futures)�test)�_utilsg�������?c C s g | ] } d | d � q S)g{�G�z�?g Y@� )�.0�xr r �J/opt/alt/python35/lib/python3.5/site-packages/fasteners/tests/test_lock.py�
<listcomp>$ s r � i, c C sC d } x6 | D]. \ } } | | k r
| | k r
| d 7} q
W| S)Nr � r )�times�start�endZoverlaps�s�er r r �_find_overlaps+ s
r c
sn t j � � t j � � � � f d d � } � � f d d � } | d k rj t d | � t d | � } | d k r t j d | � �u } d } x1 t d | � D] } | j | | � | d 7} q� Wx1 t d | � D] } | j | | � | d 7} q� WWd QRXg } g } xU t � � D]G \ }
} } |
� j
k rM| j | | f � q| j | | f � qW| | f S)Nc sq � j � �^ t j � } t j t | t t � � t j � } � j � j | | f � t j t � Wd QRXd S)N)
� read_lockr �now�time�sleep�
WORK_TIMES�len�append�READER�
NAPPY_TIME)�ident�
enter_time� exit_time)�lock�start_stopsr r � read_func7 s
z#_spawn_variation.<locals>.read_funcc sq � j � �^ t j � } t j t | t t � � t j � } � j � j | | f � t j t � Wd QRXd S)N)
�
write_lockr r r r r r r �WRITERr )r r r )r r r r �
write_funcB s
z$_spawn_variation.<locals>.write_funcr �max_workersr )�collections�deque� fasteners�ReaderWriterLock�maxr �ThreadPoolExecutor�range�submit�listr"