The main problem with threads is that they can create a lot of contention for resources, such as CPU time and memory. This can lead to problems if two threads try to access the same resource at the same time.ing_simple.py
#!/usr/bin/python import threading import time # Define a function for the thread def print_time( threadName, delay): count = 0 while count < 5: time.sleep(delay) count += 1 print "%s: %s" % ( threadName, time.ctime(time.time()) ) # Create two threads as follows try: thread.start_new_thread( print_time, ("Thread-1", 2, ) ) thread.start_new_thread( print_time, ("Thread-2", 4, ) ) except: print "Error: unable to start thread" while 1: pass[/code] This code creates two threads. The first thread will run the "print_time" function every 2 seconds and the second thread will run the "print_time" function every 4 seconds.
Threading Objects
In Python, you can thread objects by using the threading module. This module provides a variety of functions that you can use to create and manage threads in your code.
To start a new thread in Python, you can use the threading.Thread() function. This function takes as its only argument a function object that you want to run as a thread. The function object must have a __name__ attribute, which specifies the name of the thread that this function will run on.
Once you have created a thread using the Thread() function, you can start it by calling the Threading.start() method. This method takes as its only argument a string that specifies the name of the program file where the new thread should start executing.
You can also use the Threading.join() method to terminate a running thread and return control back to your main program loop. This method takes as its only argument a string that specifies the name of the program file where the new thread should terminate execution.
Daemon Threads
Daemon threads are threads that run in the background of a program. They are used to handle long-running tasks or services without interfering with the normal flow of execution.