Heim >Backend-Entwicklung >Python-Tutorial >So schließen Sie einen Thread in Python

So schließen Sie einen Thread in Python

coldplay.xixi
coldplay.xixiOriginal
2021-03-02 15:58:4619408Durchsuche

So schließen Sie einen Thread in Python: Importieren Sie zuerst das Threading und definieren Sie dann den Thread. Ziel zeigt auf die auszuführende Methode. Starten Sie ihn und stoppen Sie ihn schließlich. Der Code lautet [stop_thread (myThread)].

So schließen Sie einen Thread in Python

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Python-Version 3.9, DELL G3-Computer.

So schließen Sie Threads in Python:

1. Threads starten

Zuerst Threading importieren

import threading

Dann eine Methode definieren

    def serial_read():
   ...
   ...

Dann den Thread definieren, Ziel zeigt auf die auszuführende Methode

myThread = threading.Thread(target=serial_read)

Starten Sie es

myThread.start()

Zweitens: Stoppen Sie den Thread

Nicht mehr viel, kommen wir direkt zum Code

import inspect
import ctypes
def _async_raise(tid, exctype):
    """raises the exception, performs cleanup if needed"""
    tid = ctypes.c_long(tid)
    if not inspect.isclass(exctype):
        exctype = type(exctype)
    res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype))
    if res == 0:
        raise ValueError("invalid thread id")
    elif res != 1:
        # """if it returns a number greater than one, you're in trouble,
        # and you should call it again with exc=NULL to revert the effect"""
        ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)
        raise SystemError("PyThreadState_SetAsyncExc failed")
def stop_thread(thread):
    _async_raise(thread.ident, SystemExit)

Stoppen Sie den Thread

stop_thread(myThread)

Zugehörige kostenlose Lernempfehlungen: Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo schließen Sie einen Thread in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn