frank-shen

threading.Thread 模块  

继承实现:

import threading
import time


class TestThread(threading.Thread):
    def __init__(self, name):
        super(TestThread, self).__init__()
        self.name = name

    def run(self):
        print(\'线程%s 开始\' % self.name)
        time.sleep(5)
        print(\'线程%s 结束\' % self.name)


def main():
    threads = []
    thread_name = [\'1\', \'2\', \'3\']
    for name in thread_name:
        t = TestThread(name)
        threads.append(t)
    for thread in threads:
        thread.start()      # 启动线程
    for thread in threads:
        thread.join()       # 阻塞主线程


if __name__ == \'__main__\':
    main()

函数实现: 

import threading
import time


def main(name):
    print(\'线程%s 开始\' % name)
    time.sleep(5)
    print(\'线程%s 结束\' % name)


if __name__ == \'__main__\':
    threads = []
    thread_name = [\'1\', \'2\', \'3\']
    for name in thread_name:
        t = threading.Thread(target=main, args=(name,))
        t.start()
        threads.append(t)
    for thread in threads:
        thread.join()

concurrent.futures 模块

线程池:

import time
from concurrent.futures import ThreadPoolExecutor


def main(name):
    print(\'线程%s 开始\' % name)
    time.sleep(5)
    print(\'线程%s 结束\' % name)


if __name__ == \'__main__\':
    thread_name = [\'1\', \'2\', \'3\']
    with ThreadPoolExecutor(4) as executor:
        executor.map(main, thread_name)

  

 

分类:

技术点:

相关文章:

  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
  • 2022-02-18
  • 2022-02-09
  • 2022-12-23
  • 2022-02-18
  • 2021-11-23
猜你喜欢
  • 2021-11-09
  • 2022-02-09
  • 2021-11-23
  • 2021-11-23
  • 2021-07-28
  • 2022-02-09
  • 2021-10-05
相关资源
相似解决方案