test_thread.py
Go to the documentation of this file.
1 from __future__ import annotations
2 
3 import threading
4 
5 from pybind11_tests import thread as m
6 
7 
8 class Thread(threading.Thread):
9  def __init__(self, fn):
10  super().__init__()
11  self.fn = fn
12  self.e = None
13 
14  def run(self):
15  try:
16  for i in range(10):
17  self.fn(i, i)
18  except Exception as e:
19  self.e = e
20 
21  def join(self):
22  super().join()
23  if self.e:
24  raise self.e
25 
26 
28  a = Thread(m.test)
29  b = Thread(m.test)
30  c = Thread(m.test)
31  for x in [a, b, c]:
32  x.start()
33  for x in [c, b, a]:
34  x.join()
35 
36 
38  a = Thread(m.test_no_gil)
39  b = Thread(m.test_no_gil)
40  c = Thread(m.test_no_gil)
41  for x in [a, b, c]:
42  x.start()
43  for x in [c, b, a]:
44  x.join()
test_thread.Thread.fn
fn
Definition: test_thread.py:11
gtsam::range
Double_ range(const Point2_ &p, const Point2_ &q)
Definition: slam/expressions.h:30
test_thread.test_implicit_conversion
def test_implicit_conversion()
Definition: test_thread.py:27
test_thread.Thread.e
e
Definition: test_thread.py:12
test_thread.Thread.run
def run(self)
Definition: test_thread.py:14
test_thread.Thread.__init__
def __init__(self, fn)
Definition: test_thread.py:9
test_thread.test_implicit_conversion_no_gil
def test_implicit_conversion_no_gil()
Definition: test_thread.py:37
test_thread.Thread.join
def join(self)
Definition: test_thread.py:21
test_thread.Thread
Definition: test_thread.py:8


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:16:02