1
我有一個使用serve_forever命令的ftp服務器。這個ftp服務是在一個線程中調用的,我想要做的是當我點擊我的GUI上的停止按鈕時,我想突然關閉主線程中的線程。如何從主線程突然殺死一個線程?
import os
import sqlite3
from pyftpdlib import ftpserver
def main():
authorizer = ftpserver.DummyAuthorizer()
#does something
address = ('127.0.0.1', 10221)
ftpd = ftpserver.FTPServer(address, handler)
# start ftp server
ftpd.serve_forever()
if __name__ == '__main__':
main()
這是我這就要求FTP服務
def start_ftp(self):
self.ftp_status.setText("Running")
self.ftp_status.setStyleSheet("Background : light green")
#thread.start_new_thread(FtpService)
def stop_ftp(self):
self.ftp_status.setText("Stopped")
self.ftp_status.setStyleSheet("Background : red")
#what should i put here for the desired result
請幫傢伙
可你只是店' ftpd'在某處公開可見(即在全局中)並從主線程調用'close'或'close_all'? – Useless 2012-08-15 11:57:36
@Useless:thanx爲快速響應,你會友好地舉例說明如何執行上面給出的答案 – TheCreator232 2012-08-15 12:07:36
你不想突然關閉一個線程。你想停止你的FTP服務。思考工作而不是執行工具是編寫明智的多線程代碼的第一步。 – 2012-08-15 12:22:26