Viewing File: /opt/alt/python35/lib64/python3.5/concurrent/futures/__pycache__/thread.cpython-35.opt-2.pyc



]@sdZddlZddlmZddlZddlZddlZddlZejZ	da
ddZejeGddde
Zd	d
ZGdddejZdS)
z"Brian Quinlan (brian@sweetapp.com)N)_baseFcCsadattj}x!|D]\}}|jdqWx|D]\}}|jqCWdS)NT)	_shutdownlist_threads_queuesitemsputjoin)rtqr+/opt/alt/python35/lib64/python3.5/thread.py_python_exit sr
c@s(eZdZddZddZdS)	_WorkItemcCs(||_||_||_||_dS)N)futurefnargskwargs)selfrrrrrrr__init__,s			z_WorkItem.__init__cCs{|jjsdSy|j|j|j}Wn5tk
rf}z|jj|WYdd}~XnX|jj|dS)N)rset_running_or_notify_cancelrrr
BaseException
set_exception
set_result)rresulterrrrun2s#z
_WorkItem.runN)__name__
__module____qualname__rrrrrrr+srcCsyqxj|jdd}|dk	r4|j~q|}tsX|dksX|jri|jddS~qWWn(tk
rtjjdddYnXdS)NblockTzException in workerexc_info)getrrrrrLOGGERcritical)executor_reference
work_queue	work_itemexecutorrrr_worker=s
	

r(c@sjeZdZdddZddZejjje_ddZdd	d
Z	ejj	je	_dS)ThreadPoolExecutorNcCsz|dkr"tjpdd}|dkr:td||_tj|_t|_d|_	t
j|_dS)Nrz"max_workers must be greater than 0F)
os	cpu_count
ValueError_max_workersqueueQueue_work_queueset_threadsr	threadingLock_shutdown_lock)rmax_workersrrrrTs		zThreadPoolExecutor.__init__cOsi|jY|jrtdtj}t||||}|jj||j|SWdQRXdS)Nz*cannot schedule new futures after shutdown)	r7rRuntimeErrorrFuturerr2r_adjust_thread_count)rrrrfwrrrsubmiths
	
zThreadPoolExecutor.submitcCs|jdd}t|j|jkrtjdtdtj|||jf}d|_	|j
|jj||jt|<dS)NcSs|jddS)N)r)_r
rrr
weakref_cbxsz;ThreadPoolExecutor._adjust_thread_count.<locals>.weakref_cbtargetrT)
r2lenr4r/r5Threadr(weakrefrefdaemonstartaddr)rr@r	rrrr;us	
z'ThreadPoolExecutor._adjust_thread_countTc	CsR|jd|_|jjdWdQRX|rNx|jD]}|jq:WdS)NT)r7rr2rr4r)rwaitr	rrrshutdowns
	zThreadPoolExecutor.shutdown)
rrrrr>rExecutor__doc__r;rJrrrrr)Ssr))
__author__atexitconcurrent.futuresrr0r5rDr,WeakKeyDictionaryrrr
registerobjectrr(rKr)rrrr<module>s	

Back to Directory File Manager