- 论坛徽章:
- 0
|
5可用积分
我用的是stackless模块
我有两个无限循环
一个线程是无限循环检测一个值的变化
另外一个是接受udp包
设置两个通道
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()
问题来了,如果我收不到数据,我永远无法跳回到check()检测值a了~
我要怎么做才能一边收包一边检测a的值呢?? |
|