ホームページ > バックエンド開発 > Python チュートリアル > Python スレッドでのスレッド オブジェクトの使用法の概要 (例付き)

Python スレッドでのスレッド オブジェクトの使用法の概要 (例付き)

不言
リリース: 2018-09-11 16:23:55
オリジナル
1694 人が閲覧しました

この記事では、Python スレッドでのスレッド オブジェクトの使用法を紹介します (例とともに)。これには一定の参考価値があります。必要な友人は参照できます。お役に立てば幸いです。

Thread オブジェクト

Thread クラスは、別個の制御スレッドを表すために使用されます。

文法:

t=Thread(group=None,target=None,name=None,args=(),kwargs={})
创建一个新的Thread实例:t

group:为以后扩张保留的,默认为None

target:一个可调用对象,线程启动时,run()方法将调用此对象

name:线程名称,默认创建一个“Thread-N”格式的唯一名称。

args:传递给target函数的参数元祖

kwargs:传递给target的关机字参数的字典。
ログイン後にコピー

メソッドで使用される共通属性

t.start():通过在一个单独的控制线程中调用run(),启动线程,此方法只能被调用一次。

t.run():线程启动时将调用此方法。默认情况下,他会调用目标函数target。还可以在Thread的子类中重新定义此方法。

t.join([timeout]):阻塞线程,等待直到线程终止或者出现超时为止。timeout是以秒为单位的超时时间。
线程启动之前不能调用此方法,否则会报错。

t.is_alive:如果线程是活动的,返回True,否则返回False,从start()返回的那一刻开始,线程就是活动的,
直到run()方法终止为止。

t.name:线程名称,这个字符串用于唯一标识,可以根据需要将它更改为更有意义的值,

t.ident:整数线程标识符,如果线程尚未启动,它的值为None。

t.daemon:如果线程是后台线程,该值为True,否则未False。当不存在任何任何活动的非后台进程时,整个程序会退出。
ログイン後にコピー

例 1: Thread オブジェクトを使用して、単純にスレッドを作成し、関数を開始します

コード:
#利用Thread对象,简单创建一个线程,并启动一个函数
from threading import Thread
import time
def mark(interval):
    print("循环等待时间时间%d,等待前时间:%s"%(interval,time.ctime()))
    time.sleep(interval)
    print("等待后的时间:%s"%time.ctime())

if __name__=="__main__":
    t=Thread(target=mark,args=(3,))
    t.daemon=False#设置为非后台线程,不然会看不到自线程打印效果主线程就直接关闭了
    #下面一句会报错,必须在start()方法之后调用
    #t.join(3)
    t.start()
    #下面语句也会报错,因为start只能调用一次
    #t.start()
    print("end")
ログイン後にコピー
結果:

Python スレッドでのスレッド オブジェクトの使用法の概要 (例付き)

例 2: Thread

Code: # を継承してスレッド クラスを実装する# #

#通过继承Thread,实现线程类
from threading import Thread
import time

class MyThread(Thread):
    def __init__(self,interval):
        #下面语句用来调用基类方法,必须调用
        Thread.__init__(self)
        self.daemon=False
        self.interval=interval
    def run(self):
        print("循环等待时间时间%d,等待前时间:%s" % (self.interval, time.ctime()))
        time.sleep(self.interval)
        print("等待后的时间:%s" % time.ctime())

if __name__=="__main__":
    t=MyThread(3)
    t.start()
    #为了方便查看打印效果,加了一秒延迟
    time.sleep(1)
    print("end")
ログイン後にコピー
結果:

Python スレッドでのスレッド オブジェクトの使用法の概要 (例付き)
##関連する推奨事項:


Python マルチスレッドのスレッドの詳細な紹介


Python 開発におけるスレッド thread の基本的な例の紹介

以上がPython スレッドでのスレッド オブジェクトの使用法の概要 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート