A thread that calls refresh() at regular intervals.
| 20 | |
| 21 | |
| 22 | class _RefreshThread(Thread): |
| 23 | """A thread that calls refresh() at regular intervals.""" |
| 24 | |
| 25 | def __init__(self, live: "Live", refresh_per_second: float) -> None: |
| 26 | self.live = live |
| 27 | self.refresh_per_second = refresh_per_second |
| 28 | self.done = Event() |
| 29 | super().__init__(daemon=True) |
| 30 | |
| 31 | def stop(self) -> None: |
| 32 | self.done.set() |
| 33 | |
| 34 | def run(self) -> None: |
| 35 | while not self.done.wait(1 / self.refresh_per_second): |
| 36 | with self.live._lock: |
| 37 | if not self.done.is_set(): |
| 38 | self.live.refresh() |
| 39 | |
| 40 | |
| 41 | class Live(JupyterMixin, RenderHook): |