ऐसा लगता है कि आईडीईएल (मानक पायथन विंडोज इंस्टॉलेशन का हिस्सा) बिना मल्टी लटकते या बगआउट क्रैश के ठीक से बहुप्रचारित प्रोग्राम निष्पादित नहीं करेगा। क्या किसी को इसे ठीक करने के तरीके के बारे में पता है?मल्टीथ्रेडिंग के साथ पाइथन आईडीईएल संगत?
जब सीधे पायथन दुभाषिया के साथ निष्पादित निम्नलिखित कार्यक्रम हमेशा निष्क्रिय लेकिन आम तौर पर पूरा में रखती हूँ: हमेशा
U:\dev\py\multithreadtest>python mt.py
0
1
2
3
4
5
6
7
8
9
1277935368.84
10
11
12
13
14
15
16
17
18
19
1277935369.84
20
21
22
23
24
25
26
27
28
29
1277935370.84
1277935371.84
all done!
उत्पादन के दौरान प्रयोग में "रन मॉड्यूल" का उपयोग कर समारोह:
import threading, time
printLock = threading.Lock()
def pl(s):
printLock.acquire()
print s
printLock.release()
class myThread(threading.Thread):
def run(self):
i = 0
for i in range(0,30):
pl(i)
time.sleep(0.1)
t = myThread()
t.start()
while threading.activeCount() > 1:
time.sleep(1)
pl(time.time())
print "all done!"
नमूना उत्पादन मेरी मशीन पर 23 या 24 पढ़ने वाली रेखा के आसपास अनिश्चित काल तक लटका हुआ है।
आईडीईएल टिंकर में लिखा गया है, WxPython नहीं। –
निष्क्रिय पाइथन और पायथन कोड में लिखा गया है सीधे जीआईएल का उपयोग नहीं करता है। AFAIK, थ्रेडिंग मॉड्यूल के निष्क्रिय का उपयोग थ्रेडिंग और कंडीशन क्लासेस और वर्तमान_थ्रेड फ़ंक्शन तक ही सीमित है। –