Python的线程非常简单易用,可同时执行很多个while循环
程序一般是流线型的,只能在一个while里循环,但用多线程就可实现多个while同时运行了!!!比如一个程序里,主程序在执行代码块,另加个线程等待用户输入,当无用户输入时执行主代码循环...
(来源于这个参考网站: [url]http://linuxgazette.net/107/pai.html[/url])
当用户输入quit时退出程序:
import time
import thread
import sys
aaa='' #初始用户输入变量
def myfunction(string,sleeptime,*args):
while 1:
print string
time.sleep(sleeptime) #sleep for a specified amount of time.
def test(x,y):
print x,y
global aaa
while 1:
aaa=sys.stdin.readline() #或用raw_input()也可的,aaa得是全局函数
aaa=aaa[:-1] #因为输入quit后aaa的值为'quit\n' 用[:-1]去掉最后一个字符
print 'aaa是',aaa
if aaa=='quit':
print "10秒后退出,这里退出的是线程了,不是整个进程,退出输入信息线程后用户不能输入信息了"
time.sleep(10)
sys.exit()
time.sleep(1)
if __name__=="__main__":
#加线程区,想加多少就加多少
thread.start_new_thread(myfunction,("Thread No:1",2))
thread.start_new_thread(test,('1','2')) #注意这里的test后的参数为序表('1','2'),只是起格式作用...用不着也得加一个序表形式的参数的
while 1:
print '主线程'
print 'aaa的值是',aaa
if aaa!='任意的':
for i in range(10):
print i
time.sleep(1)
else:
print '输入了(任意的),退出,这里退出的才是进程'
sys.exit()
页:
[1]