1
所以我有這樣的代碼使用線程初始化類(Python)的
import socket
def main():
#does a bunch of argument parsing
while True:
newsock, fromaddr = s.accept()
ssl_sock = context.wrap_socket(newsock, server_side=True)
threading.Thread(target=tls_listener, args=(ssl_sock,)).start()
def tls_listener(ssl_sock):
#the thing I want to turn into a class
#calls other functions, does some reporting
if __name__ == "__main__":
main()
我想使tls_listener一個類(它成長了不少,我已經意識到我應該抽象它(和使用self
,而不是傳遞變量)),但不知道如何使用線程啓動類的實例,因爲它需要傳遞一個函數。我是否應該做點像
class TlsListener(threading):
#overload run()
或者是否有可能讓線程創建一個TlsListener類的新實例?
我可以實際上我不滿意這個答案,因爲我的聲望不到15,但是謝謝你!很簡單,優雅的解決方案。 –