ich arbeite mich gerade in das Modul threading ein, da ich es später für eine Client-Server-Architektur brauche.
Ich habe ein Beispielprogramm geschrieben, das noch nicht wie gewünscht funktioniert: Trotz threading wird die GUI blockiert, wenn im Hintergrund ein Thread ausgeführt wird. Dadurch wird es nicht möglich, einen neuen Thread zu starten.
Zum einfachen Beispielprogramm: Es handelt sich um einen Primzahlentest, der eine Zahl als Eingabe erwartet.
Code: Alles auswählen
import threading
from Tkinter import *
class MyThread(threading.Thread):
def __init__(self, number):
threading.Thread.__init__(self)
self.number = number
def run(self):
i=2
prim=True
while i*i < self.number:
if self.number%i==0:
prim=False
break
i+=1
print self.number, prim
def execute():
global all_threads
eingabe = e.get()
e.delete(0,999)
if eingabe == "ende":
global root
root.destroy()
for t in all_threads:
t.join()
return
thread = MyThread(int(eingabe))
all_threads.append(thread)
thread.start()
all_threads=[]
root=Tk()
e=Entry(root, width=10)
e.pack()
b=Button(root, text='Teste Zahl!', command = execute)
b.pack()
lg pysq