1.  
  2. 主页
  3.  / 
  4. Python基础到高级
  5.  / 
  6. 并发

并发

并发

说到并发的时候,你应该也同时要想到并行,那么并行和并发的区别是啥呢?

并发是一种假的同一时间段处理多个任务的操作,服务器是单核的话,也是可以实现并发的

并行是真的同一时间处理多个任务,但是服务器的配置必须是多核的

在Python中实现并发的手段:

线程

线程和进程的区别:

一个进程里面可以存在多个线程,在linux中线程是通过进程实现的

而在Python中每个进程都会启动一个解释器,但是线程是共享一个解释器的

Python中是通过第三方库(treading)来实现多线程的

那我们来创建并执行一下线程对象:

标识一个线程

logging让线程的输出更规范

当多线程对象直接返回结果的时候,返回值可能不是很规范

当遇到这样的情况,通常会使用logging来代替打印的方法

daemon 与 non-daemon

daemon 与 non-daemon,线程退出时,其daemon子线程也会退出,而non-daemon子线程不会退出

线程退出的时候,会等待所有的non-daemon退出

实例:

获取所有线程

使用继承的方式创建线程

当使用theading创建线程的时候,当调用了run方法后, 就无法调用start方法了

run方法是在父线程内执行,start时直接创建线程执行

thread local

thread local相当于一种变量属性,但是这种变量属性,仅在当前线程可见,是线程独享的资源

定时器/延迟执行

延迟执行时可以被取消的

当function参数所指定函数开始执行的时候 ,cancel是无效的

这篇文章对您有用吗? 1

我们要如何帮助您?

发表评论

邮箱地址不会被公开。 必填项已用*标注