поток pys60 не работает в Symbian Python - PullRequest
0 голосов
/ 18 декабря 2011

Я разрабатываю приложение sms для symbian с использованием pys60.Я создал поток для отправки смс, но там не работает.
Я хочу, чтобы этот поток работал в фоновом режиме, независимо от того, закрыто приложение или нет.
индекс контактов - это словарь с контактными номерами и именами.

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)

Может кто-нибудь сказать мне, почему он не входит в этопоток, который будет работать в фоновом режиме независимо от того, закрыто приложение или нет?

Ответы [ 2 ]

0 голосов
/ 13 августа 2012

Попробуйте следующий фрагмент:

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 - функция, работающая в фоновом режиме.

0 голосов
/ 18 декабря 2011

Используйте модуль threading. Thread s, созданные этим модулем, будут ожидать главный поток перед завершением процесса.

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

Потоки, созданные в другом месте или с атрибутом daemon, не ожидаются.

...