多线程编程:如何在Python中创建并管理多线程?

原创 ゝ一世哀愁。 2025-02-15 04:51 42阅读 0赞

在Python中,由于GIL(全局解释器锁)的存在,直接进行多线程并不能充分利用多核CPU的优势。但是,Python提供了一些高级工具,如threading.Lock()queue.Queue()等,可以间接实现多线程。

以下是一个简单的例子,展示了如何创建和管理Python多线程:

  1. import threading
  2. # 定义一个共享资源(锁)
  3. lock = threading.Lock()
  4. def worker_thread(name, lock):
  5. print(f'Thread {name} started...')
  6. # 使用锁确保互斥访问共享资源
  7. with lock:
  8. print(f'Thread {name} acquired lock...')
  9. print(f'Thread {name} releasing lock...'))
  10. print(f'Thread {name} finished...'))
  11. # 创建多个工作线程
  12. threads = []
  13. for i in range(5):
  14. thread_name = f'Thread-{i}'
  15. thread = threading.Thread(target=worker_thread, args=(thread_name, lock)))
  16. threads.append(thread)
  17. thread.start()
  18. # 等待所有工作线程完成
  19. for thread in threads:
  20. thread.join()

这段代码首先创建一个共享锁(lock),然后为每个工作线程定义一个实现worker_thread的函数。在工作线程启动时,它们会竞争获取锁,并执行自己的任务。

最后,我们创建了5个工作线程,并使用join()方法等待所有线程完成。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,42人围观)

还没有评论,来说两句吧...

相关阅读