defl/tests/test_thread.py
2024-09-11 11:14:03 -04:00

47 lines
1.0 KiB
Python
Executable File

#!/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()