- 論壇徽章:
- 0
|
5可用積分
我用的是stackless模塊
我有兩個無限循環(huán)
一個線程是無限循環(huán)檢測一個值的變化
另外一個是接受udp包
設(shè)置兩個通道
one=stackless.channel()
two=stackless.channel()
def check():
two.recevie()
while 1:
if 檢測值 a=1:
dosomething
else:
one.send('開始收包')
def udp():
one.receive()
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind((loaclhost_ip,port))
while 1:
d,a=s.recvfrom(1024)
two.send('返回check')
開啟線程
stackless.tasklet(check)()
stackless.tasklet(udp)()
stackless.tasklet(two.send)('開始檢測')
stackless.run()
問題來了,如果我收不到數(shù)據(jù),我永遠(yuǎn)無法跳回到check()檢測值a了~
我要怎么做才能一邊收包一邊檢測a的值呢?? |
|