47 lines
1.0 KiB
Python
47 lines
1.0 KiB
Python
|
|
#!/usr/bin/env python
|
||
|
|
|
||
|
|
from dataclasses import dataclass, field
|
||
|
|
import sys, re, os, enum, itertools
|
||
|
|
from functools import partial, partialmethod
|
||
|
|
from time import sleep
|
||
|
|
from operator import itemgetter
|
||
|
|
from defl import log, cl, Path, Undefined, Null, Assert, Time, Obj, Dunder
|
||
|
|
from defl import CLIError
|
||
|
|
from defl._typing_ import *
|
||
|
|
import defl
|
||
|
|
|
||
|
|
import defl, threading
|
||
|
|
import time
|
||
|
|
|
||
|
|
def pool():
|
||
|
|
def sleep(s):
|
||
|
|
print(f'start {s}')
|
||
|
|
time.sleep(s)
|
||
|
|
print(f'end {s}')
|
||
|
|
return s
|
||
|
|
|
||
|
|
comPool = defl.ComPool([defl.Action.Reg(sleep, x) for x in range(1, 3)])
|
||
|
|
print(comPool.status())
|
||
|
|
while comPool.isRunning():
|
||
|
|
# print(comPool.status())
|
||
|
|
print(comPool)
|
||
|
|
time.sleep(1)
|
||
|
|
|
||
|
|
print(comPool.results())
|
||
|
|
|
||
|
|
res = defl.ComPool([defl.ComSubmit(sleep, x) for x in range(1, 3)])
|
||
|
|
print(res)
|
||
|
|
|
||
|
|
def thread() -> None:
|
||
|
|
def a():
|
||
|
|
raise ValueError()
|
||
|
|
|
||
|
|
t = threading.Thread(target=a, daemon=True)
|
||
|
|
t.start()
|
||
|
|
print('test')
|
||
|
|
res = t.join()
|
||
|
|
print('res', res)
|
||
|
|
print('test 2', t)
|
||
|
|
|
||
|
|
thread()
|