线程阻止插座

时间:2013-09-30 04:13:47

标签: multithreading sockets python-2.7

我的应用通过套接字从Web服务器接收要执行的作业。当应用程序在应用程序上运行时,我只能再向应用程序发送2条消息,然后才会再收到该消息。

def handlemsg (self, data):
    self.sendmsg (cPickle.dumps('received')) # send web server notification received

    data = cPickle.loads(data)

    print data

    # Terminate a Job
    if data[-1] == 'terminate':
        self.terminate(data[0])

    # Check if app is Available
    elif data[-1] == 'prod':
        pass

    # Run Job
    else:
        supply = supply_thread(data, self.app)
        self.supplies[data['job_name']] = supply
        supply.daemon = True
        supply.start()

我可以向服务器发送尽可能多的产品。但是一旦我发送了一个激活线程的Job,那么响应就会变得有限。出于某种原因,它将允许我在作业运行时发送另外两个产品......但在此之后,打印消息将不会出现,它只是继续工作。

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:0)

我通过数据报套接字配置运行数据。我切换到一个socketstream,似乎解决了它。

http://turing.cs.camosun.bc.ca/COMP173/notes/PySox.html

对决议很有帮助。