0

我正在使用 pys60 为 symbian 开发一个短信应用程序。我已经创建了一个用于发送短信的线程,但是 read 不起作用。
我希望这个线程在后台运行,不管应用程序是否关闭。
联系人索引是一个包含联系人号码和姓名的字典。

def send_sms(contact_index):
    import thread
    appuifw.note(u"entered to send sms thread")
    tid = thread.start_new_thread(send_sms_thread, (contact_index, ))
    appuifw.note(u"completed")

它进入“进入发送短信线程”,但之后没有继续。
功能 sens_sms_thread 是:

def send_sms_thread(contact_index):
    appuifw.note(u"entering the thread in sending sms in loops")
    for numbers in contact_index:
        name = contact_index[number]
        appuifw.note(u"sending sms to %s ." % name)
        messaging.sms_send(numbers, message_content, '7bit', cb, '')
        e32.ao_sleep(30)

谁能告诉我为什么它没有进入这个线程,无论应用程序是否关闭,它都会在后台运行?

4

2 回答 2

0

使用threading模块。Thread此模块创建的 s 将在进程退出之前由主线程等待。

thread = threading.Thread(target=send_sms_thread, args=(contact_index,))
thread.start()

daemon不等待在其他地方创建的或具有该属性的线程。

于 2011-12-18T10:14:14.117 回答
0

尝试下一个片段:

if __name__=='__main__':

    th = e32.ao_callgate(Udp_recv)
    thread.start_new_thread(th,())

    for i in range(10):
        tmp = (str(i)+data)[0:10]

Udp_recv是后台运行的函数。

于 2012-08-13T06:51:24.957 回答