3
ý*[7  ã               @   s.   d dl Z d dlZG dd„ de jƒZdd„ ZdS )é    Nc               @   s   e Zd Zdd„ Zdd„ ZdS )ÚMyThreadc             C   s   t jj| ƒ || _|| _d S )N)Ú	threadingÚThreadÚ__init__ÚnameÚdelay)Úselfr   r   © r	   úI/Users/quannguyen/Documents/python/mastering_concurrency/ch3/my_thread.pyr      s    zMyThread.__init__c             C   s.   t d| j ƒ t| j| jƒ t d| j ƒ d S )NzStarting thread %s.zFinished thread %s.)Úprintr   Úthread_count_downr   )r   r	   r	   r
   Úrun   s    zMyThread.runN)Ú__name__Ú
__module__Ú__qualname__r   r   r	   r	   r	   r
   r      s   r   c             C   s4   d}x*|r.t j|ƒ td| |f ƒ |d8 }qW d S )Né   zThread %s counting down: %i...é   )ÚtimeZsleepr   )r   r   Zcounterr	   r	   r
   r      s
    
r   )r   r   r   r   r   r	   r	   r	   r
   Ú<module>   s   