1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Ë
Ñ^i’ãóz—dZddlmZddlmZddlmZddlmZ    ddl
m Z dd    giZ d
d gZ edd „«Zd „Zd„Zd„Zy)z,
Thin wrappers around `concurrent.futures`.
é)Úcontextmanager)Ú length_hint)Ú    cpu_counté)Útqdm)Ú TqdmWarningz github.com/Ú    casperdclÚ
thread_mapÚ process_mapc#ó¾K—t|dd«}|xs|j«}t|||«}|j|«|–—|€|`y|j|«y­w)z>get (create if necessary) and then restore `tqdm_class`'s lockÚ_lockN)ÚgetattrÚget_lockÚset_lockr )Ú
tqdm_classÚ    lock_nameÚold_lockÚlocks    õjH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\tqdm/contrib/concurrent.pyÚ ensure_lockrsdèø€ôz 7¨DÓ1€HØ Ò ,z×*Ñ*Ó,€DÜ 4˜ DÓ )€DØ×Ñ˜ÔØ
‚JØÐØ Ñ à×јHÕ%ùs‚AAc ó —|j«}d|vrt|d«|d<|jdt«}|jdt    dt «dz««}|jdd«}|jd    d
«}t ||¬ «5}    |||j|    f¬ «5}
t||
j|g|¢­d|iŽfi|¤Ž«cd d d «cd d d «S#1swYnxYw    d d d «y #1swYy xYw)a
    Implementation of `thread_map` and `process_map`.
 
    Parameters
    ----------
    tqdm_class  : [default: tqdm.auto.tqdm].
    max_workers  : [default: min(32, cpu_count() + 4)].
    chunksize  : [default: 1].
    lock_name  : [default: "":str].
    ÚtotalrrÚ max_workersé éÚ    chunksizeérÚ)r)rÚ initializerÚinitargsN)
ÚcopyrÚpopÚ    tqdm_autoÚminrrrÚlistÚmap) Ú PoolExecutorÚfnÚ    iterablesÚ tqdm_kwargsÚkwargsrrrrÚlkÚexs            rÚ _executor_mapr.s€ð× Ñ Ó €FؐfÑÜ% i°¡lÓ3ˆˆw‰Ø—‘˜L¬)Ó4€JØ—*‘*˜]¬C°´I³KÀ!±OÓ,DÓE€KØ—
‘
˜;¨Ó*€IØ—
‘
˜;¨Ó+€IÜ    Z¨9Ô    5ð[¸á  k¸z×?RÑ?RØ$& 5ô*ð    [Ø-/Ü™
 6 2§6¡6¨"Ð#N¨yÒ#NÀIÑ#NÑYÐRXÑYÓZ÷    [ð    [÷[ñ[÷    [ð    [úð    [÷[÷[ñ[ús$ÂC:Â+&C$à   C:Ã$C-    Ã)C:Ã:Dcó.—ddlm}t||g|¢­i|¤ŽS)a¢
    Equivalent of `list(map(fn, *iterables))`
    driven by `concurrent.futures.ThreadPoolExecutor`.
 
    Parameters
    ----------
    tqdm_class  : optional
        `tqdm` class to use for bars [default: tqdm.auto.tqdm].
    max_workers  : int, optional
        Maximum number of workers to spawn; passed to
        `concurrent.futures.ThreadPoolExecutor.__init__`.
        [default: max(32, cpu_count() + 4)].
    r)ÚThreadPoolExecutor)Úconcurrent.futuresr0r.)r(r)r*r0s    rr
r
6s€õ6Ü Ð+¨RÐ K°)Ò K¸{Ñ KÐKócóؗddlm}|r:d|vr6ttt|««}|dkDrddlm}|d|ztd¬«d    |vr|j«}d
|d    <t||g|¢­i|¤ŽS) a¦
    Equivalent of `list(map(fn, *iterables))`
    driven by `concurrent.futures.ProcessPoolExecutor`.
 
    Parameters
    ----------
    tqdm_class  : optional
        `tqdm` class to use for bars [default: tqdm.auto.tqdm].
    max_workers  : int, optional
        Maximum number of workers to spawn; passed to
        `concurrent.futures.ProcessPoolExecutor.__init__`.
        [default: min(32, cpu_count() + 4)].
    chunksize  : int, optional
        Size of chunks sent to worker processes; passed to
        `concurrent.futures.ProcessPoolExecutor.map`. [default: 1].
    lock_name  : str, optional
        Member of `tqdm_class.get_lock()` to use [default: mp_lock].
    r)ÚProcessPoolExecutorriè)Úwarnz…Iterable length %d > 1000 but `chunksize` is not set. This may seriously degrade multiprocess performance. Set `chunksize=1` or more.r)Ú
stacklevelrÚmp_lock)
r1r4Úmaxr&rÚwarningsr5rr!r.)r(r)r*r4Úlongest_iterable_lenr5s      rr r Hs‡€õ&7ِ[¨ Ñ3ô #¤3¤{°IÓ#>Ó?ÐØ  $Ò &Ý %Ù ð/à1EñFô¨õ ,ð˜+Ñ%Ø!×&Ñ&Ó(ˆ Ø#,ˆ KÑ Ü Ð,¨bÐ L°9Ò LÀ Ñ LÐLr2N)r)Ú__doc__Ú
contextlibrÚoperatorrÚosrÚautorr#ÚstdrÚ
__author__Ú__all__rr.r
r ©r2rú<module>rDsWðñõ&Ý Ýå$Ýà˜k˜]Ð +€
Ø ˜Ð
'€ðò
&óð
&ò[ò2Ló$!Mr2