Home > Article > Backend Development > How to use the threading module in python
Detailed explanation of the threading module in python. Threading provides a higher-level API than the thread module to provide thread concurrency. These threads run concurrently and share memory.
Let’s look at the specific usage of the threading module:
The target function can instantiate a Thread object, and each Thread object represents a thread. You can start running through the start() method.
Here is a comparison between using multi-threaded concurrency and not using multi-threaded concurrency:
The first is the operation without using multi-threading:
The code is as follows:
#!/usr/bin/python #compare for multi threads import time def worker(): print"worker" time.sleep(1) return if__name__ =="__main__": for i in xrange(5): worker()
The execution results are as follows:
The following is the operation using multi-thread concurrency:
The code is as follows:
#!/usr/bin/python import threading import time defworker(): print"worker" time.sleep(1) return fori in xrange(5): t=threading.Thread(target=worker) t.start()
It can be clearly seen that the multi-threaded concurrent operation takes much less time.
This method returns the number of threads in the current process. The number returned includes the main thread.
The code is as follows:
#!/usr/bin/python #current's number of threads import threading import time defworker(): print"test" time.sleep(1) for i in xrange(5): t=threading.Thread(target=worker) t.start() print"current has %d threads" % (threading.activeCount() -1)
This method returns the list of Thread objects currently running.
The code is as follows:
#!/usr/bin/python #test the variable threading.enumerate() import threading import time defworker(): print"test" time.sleep(2) threads=[] for i in xrange(5): t=threading.Thread(target=worker) threads.append(t) t.start() for item in threading.enumerate(): print item print for item in threads: print item
Set the background process.
The code is as follows:
#!/usr/bin/python #create a daemon import threading import time def worker(): time.sleep(3) print"worker" t=threading.Thread(target=worker) t.setDaemon(True) t.start() print"haha"
It can be seen that the printing operation in the worker() method is not displayed, indicating that it has become a background process.
The above is the detailed content of How to use the threading module in python. For more information, please follow other related articles on the PHP Chinese website!