Your IP : 216.73.217.129
��YfB � @ s? d d l Z d d l Z d d l Z d d l m Z e j d � Z d d l Z d d l Z d d l Z d d l m
Z
d Z d Z e j
� Z d d � Z Gd d
� d
e j � Z Gd d � d e � Z Gd
d � d � Z Gd d � d e � Z Gd d � d e
j � Z Gd d � d e j � Z e d k r;e j � d S)� N)�support�_thread)�
lock_tests�
� c C s% t j r! t � t | � Wd QRXd S)z2Helper function for printing out debugging output.N)r �verbose�_print_mutex�print)�arg� r �5/opt/alt/python35/lib64/python3.5/test/test_thread.py�
verbose_print s r
c @ s e Z d Z d d � Z d S)�BasicThreadTestc C sx t j � | _ | j j � t j � | _ t j � | _ d | _ d | _ d | _ t j
� } | j t j | � d S)Nr )
�thread�
allocate_lock�
done_mutex�acquire�
running_mutex�random_mutex�created�running�
next_identr Zthreading_setupZ
addCleanupZthreading_cleanup)�self�keyr r r �setUp s
zBasicThreadTest.setUpN)�__name__�
__module__�__qualname__r r r r r r s r c @ s e Z d Z d d � Z d d � Z d d � Z d d � Z e j e j
d k d � d d
� � Z d d � Z d d � Z
d S)�ThreadRunningTestsc
C sl | j �\ | j d 7_ t d | j � t j | j | j f � | j d 7_ | j d 7_ Wd QRXd S)N� zcreating task %s)r r r
r �start_new_thread�taskr r )r r r r �newtask) s
zThreadRunningTests.newtaskc C s� | j � t j � d } Wd QRXt d | t | d � f � t j | � t d | � | j �? | j d 8_ | j t k r� | j d k r� | j
j � Wd QRXd S)Ng ��@ztask %s will run for %susg ��.Aztask %s doner r )r �randomr
�round�time�sleepr r r �NUMTASKSr �release)r �ident�delayr r r r! 1 s
zThreadRunningTests.taskc C sF x t t � D] } | j � q
Wt d � | j j � t d � d S)Nz waiting for tasks to complete...zall tasks done)�ranger'