/
UCS
/
pybind11
Обзор
Документация
Войти
/
UCS
/
pybind11
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
v2.9.2
tests/test_thread.py
44 строки
875 B
Laramie Leavitt
Fix thread safety for pybind11 loader_life_support (#3237)
10 сен 2021, 19:29
Не верифицирован
10 сен 2021, 19:29
0e59958
Код
Авторство
О чём код?
# -*- coding: utf-8 -*- import threading from pybind11_tests import thread as m class Thread(threading.Thread): def __init__(self, fn): super(Thread, self).__init__() self.fn = fn self.e = None def run(self): try: for i in range(10): self.fn(i, i) except Exception as e: self.e = e def join(self): super(Thread, self).join() if self.e: raise self.e def test_implicit_conversion(): a = Thread(m.test) b = Thread(m.test) c = Thread(m.test) for x in [a, b, c]: x.start() for x in [c, b, a]: x.join() def test_implicit_conversion_no_gil(): a = Thread(m.test_no_gil) b = Thread(m.test_no_gil) c = Thread(m.test_no_gil) for x in [a, b, c]: x.start() for x in [c, b, a]: x.join()