python多线程编程——《python核心编程第四章》

2017-06-02  本文已影响31人  rebirth_2017

1 引言

首先区分几个概念:

程序——能被计算机执行的文件;
进程——处于执行状态的程序,包含计算机为其分配的空间、内存、数据栈等资源;
线程——也称轻量级进程(迷你进程),在同一进程下执行,拥有相同的上下文(线程间消息传递更方便);可以认为他们是在同一主进程或“主线程”中并行运行的一些“迷你进程”。

从上面的概念可以发现:

针对能够采用多线程编程的任务,如一个进程可以拆解为多个并发执行的子任务的情况,其效率肯定比单进程顺序执行的效率高。但是,由于多线程在同一上下文环境下执行,对一些公用资源会出现竞争的情况,如何解决些问题?

这就是贯穿本章的两个重点:

    1. 如何实现多线程编程?(需要用哪些模块的那些方法?)

2 几种多线程编程实现方法

常见多线程编程的实现方法包括:

  • thread模块实现;

2.1 thread模块的多线程实现

2.2 thread模块的多线程实现

Paste_Image.png Paste_Image.png Paste_Image.png

3 同步原语的几种形式

  • 锁Lock;

3.1 锁Lock

Paste_Image.png

3.2 信号量(计数器)的使用

Paste_Image.png

3.3 Queue模块队列的应用

Paste_Image.png

4 总结

扯了这么久,多线程到底是个什么东西?
简而言之:

如果要执行某个算法或函数,单线程会顺序的执行其中的每一步,直至结束;多线程可以同时执行多个算法或函数,这样效率就更高。

上一篇 下一篇

猜你喜欢

热点阅读