简体   繁体   中英

What happened to thread.start_new_thread in python 3

I liked the ability to turn a function into a thread without the unnecessary line to define a class. I know about _thread, however it appears that you are not supposed to use _thread. Is there a good-practice equivalent of thread.start_new_thread for python 3?

threading.Thread(target=some_callable_function).start()

or if you wish to pass arguments,

threading.Thread(target=some_callable_function,
        args=(tuple, of, args),
        kwargs={'dict': 'of', 'keyword': 'args'},
    ).start()

Unfortunately there is not a direct equivalent, because Python 3 is meant to be more portable than Python 2 and the _thread interface is seen as too low-level for this purpose.

In Python 3 the best practice is usually to use threading.Thread(target=f...) . This uses different semantics, but is preferred because the interface is easier to port to other Python implementations.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM