python中的多线程就是在一个进程中存在着多个线程,在线程中,所有的线程都是共享资源的,线程之间的数据通信很简单。但是python仅支持一个线程的运行,因为python中存在一个全局解释器锁GIL(global interpreter lock),正是这个锁能保证同一时刻只有一个线程在运行,所以多线程依旧像是单线程的运行。
python多线程编程是为了并行运行相互独立的子任务,大幅度提高整个任务的效率,比如异步任务、运算密集型任务等。线程有开始,顺序执行和结束三个阶段。python多线程编程中常用方法有:start()方法、run()方法、join()方法、isAlive()方法、getName()方法、setName()方法、isDaemon()方法、setDaemon()方法等。
在python多线程模块主要有thread和threading,推荐大家使用threading模块,因为threading进行了大量的封装,从而不需要管理子线程和主线程之间的问题,也允许用户自己创建和管理线程。
多任务可以由多进程完成,也可以由一个进程内的多线程完成。多线程中任务有以下特点:异步的,多个并发事务,各个事务的运行顺序是不确定的、随机的、不可预测的。所以多线程编程模型复杂,容易发生冲突,必须用锁加以隔离,同时,又要小心死锁的发生。
领取专属 10元无门槛券
私享最新 技术干货