线程

作者: 小灰辉先生 | 来源:发表于2017-10-12 10:20 被阅读0次

多线程--threading

python的thread模块是比较底层的模块,python的threading模块是对thread做了些封装的,可以更加方便的使用

1.使用thearding模块

说明:

--1.可以明显的看出使用了多线程并发的操作,花费时间要短很多

--2.创建好的线程,需要调用start()方法来启动

2.主线程会等待所有子线程结束后才结束

为什么会等子线程结束,主线程才结束呢?回收内存。

3.查看线程

上述代码添加了以下代码:

4.threading注意点

threading.Thread封装子类

通过使用threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threading.Thread就可以了,然后重新run方法

5.线程的执行顺序

说明:

只能保证每个线程都运行完整个run函数,但是线程的启动顺序,run函数中每次循环的执行顺序都不能确定

注意:

每个线程一定会有一个名字,尽管上面的例子中没有指定线程对象的name,但是python会自动为线程指定一个名字

当线程的run()方法结束时该线程完成

无法控制线程调度程序,但是可以通过被的方式来影响线程调度的方式

线程的集中状态:启动,调度,结束,等待

6.多线程--共享全局变量

两个线程修改全局变量

7.列表当做实参传递到线程中

在一个进程内的所有线程共享全局变量,能够在不适用其他方式的前提下完成

8.进程线程

进程:能够完成任务,比如一台电脑上能够同时运行多个QQ

线程:能够完成多任务,比如一个QQ中的多个聊天窗口

9.同步

同步就是协同步调,按预定的先后次序进行运行。

10.互斥锁

当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制

锁的好处:

确保了某段关键代码只能由一个线程从头到尾完整的执行

锁的坏处:

阻止了多线程并发执行,包含锁的某段代码实际上只能以单线程模式执行,效率就大大的下降了,

由于可以存在对哦个锁,不同的线程持有不同的锁,并试图获取对方持有的锁时,可能会造成死锁。

相关文章

  • Android

    线程间通信 主线程和工作线程主线程和工作线程 工作线程与工作线程工作线程与工作线程 为什么主线程Looper.lo...

  • 三、操作系统之线程

    前言 什么是线程 引入线程的原因 线程的概念 线程和进程的关系 线程结构 线程有点 多线程模型 用户线程和内核线程...

  • Thread

    队列 线程锁 多线程,线程池 队列 多线程爬虫示例 多线程 自定义线程 线程池

  • 总结多线程与设计模式+synchronized+性能+高吞吐+死

    Java线程 Java语言的线程 何谓线程 线程启动 线程的暂时停止 线程的共享互斥 线程的协调 线程的状态转移 ...

  • 多线程编程

    摘要 线程概念,线程与进程的区别与联系学会线程控制,线程创建,线程终止,线程等待了解线程分离与线程安全学会线程同步...

  • java线程池

    线程VS线程池 普通线程使用 创建线程池 执行任务 执行完毕,释放线程对象 线程池 创建线程池 拿线程池线程去执行...

  • java并发之守护线程

    java中有两种线程,用户线程和守护线程用户线程:主线程停止时,用户线程不会停止守护线程:主线程停止时,守护线程也...

  • Java线程池的使用

    线程类型: 固定线程 cached线程 定时线程 固定线程池使用 cache线程池使用 定时调度线程池使用

  • 线程基础知识

    线程学习 线程的基础知识 线程是什么? 线程和进程的关系 线程的6个状态 线程优先级 主线程、多线程、后台线程的概...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

网友评论

      本文标题:线程

      本文链接:https://www.haomeiwen.com/subject/ropvyxtx.html