Python线程只启动一个额外的线程

时间:2013-10-31 07:01:12

标签: python multithreading

import socket
import thread
s = socket.socket(
    socket.AF_INET, socket.SOCK_STREAM)
s.connect(("server", 6661))
def recv():
    while 1:
        print(s.recv(1024))
def send():
    while 1:
        msg = raw_input("> ")
        s.send(msg)
thread.start_new_thread(recv())
thread.start_new_thread(send())

为什么代码在线程recv()之后没有运行 - 我看不到它应该挂起的位置

1 个答案:

答案 0 :(得分:4)

调整如下:

thread.start_new_thread(recv, ())
thread.start_new_thread(send, ())

通过在函数名称后面附加(),您可以在主线程中调用recvsend,而不是在新线程中调用。