Python的线程 - 一个子类的创建?(Python Threading - Creation o

2019-10-19 03:59发布

我有我的包裹周围的理由大脑在python使用线程时创建子类的问题。 我读过一些网站,包括tutorialspoint 。

该文件说,你需要定义Thread类的新的子类。 我有一个类的基本了解,但还没有与子打在所有。 我还没有与我用像OS&FTPLIB任何其他模块做这样的事情呢。 任何人都可以指向我可以解释为一个新手编剧这更好的一个网站?

#!/usr/bin/python

import threading

class myThread (threading.Thread):

我可以写我自己的脚本,而无需创建这个子类和它的作品,所以我不知道为什么,这都是一项要求。 这是我的我为了帮助我了解线程最初简单的小脚本。

#!/usr/bin/python

# Import the necessary modules
import threading
import ftplib

# FTP function - Connects and performs directory listing
class
def ftpconnect(target):
        ftp = ftplib.FTP(target)
        ftp.login()
        print "File list from: %s" % target
        files = ftp.dir()
        print files

# Main function - Iterates through a lists of FTP sites creating theads
def main():
    sites = ["ftp.openbsd.org","ftp.ucsb.edu","ubuntu.osuosl.org"]
    for i in sites:
        myThread = threading.Thread(target=ftpconnect(i))
        myThread.start()
        print "The thread's ID is : " + str(myThread.ident)

if (__name__ == "__main__"):
    main()

谢谢您的帮助!

我使用tutorialspoint.com供我参考材料。 这听起来像你说我贪多,我可以嚼,我应该保持它的简单,在这一点上考虑到我并不需要使用更复杂的选择呢。 这是该网站说什么:

Creating Thread using Threading Module:
To implement a new thread using the threading module, you have to do the following:

- Define a new subclass of the Thread class.

- Override the __init__(self [,args]) method to add additional arguments.

- Then, override the run(self [,args]) method to implement what the thread should do when started.

Once you have created the new Thread subclass, you can create an instance of it and then start a new thread by invoking the start(), which will in turn call run() method.

Answer 1:

该文件说,你需要定义Thread类的新的子类。

我可以写我自己的脚本,而无需创建这个子类和它的作品,所以我不知道为什么,这都是一项要求。

Python的文件说没有这样的事,并不能猜测哪些文档你谈论。 以下是Python文档 :

有两种方法来指定该活动:通过使可调用对象的构造函数,或通过在一个子类覆盖run()方法。 没有其他方法(除了构造函数)应该在子类中重写。 换言之,仅重写init()和run()的此类的方法。

您正在使用指定的有第一种方法(通过可调用的Thread()构造函数)。 没关系。 当调用需要访问状态变量的子类变得更有价值,你不想全局为宗旨,以搞乱你的程序,特别是使用多线程每个人都需要自己的状态变量时。 然后,状态变量通常可以实现为实例变量在自己的子类threading.Thread 。 如果你不需要这个(还),不用担心它(还)。



文章来源: Python Threading - Creation of a subclass?