前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中的进程与线程基本使用(上)

python中的进程与线程基本使用(上)

作者头像
叶子陪你玩
发布2020-04-09 17:13:49
1.1K0
发布2020-04-09 17:13:49
举报

前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

进程与线程的含义

关于什么是进程和线程,网上有很多说法,个人觉的廖大神说的挺好理解的:

对于操作系统来说,一个任务就是一个进程,多进程就是多个任务。比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。

有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。

由于每个进程至少要干一件事,所以,一个进程至少有一个线程。当然,像Word这种复杂的进程可以有多个线程,多个线程可以同时执行,多线程的执行方式和多进程是一样的,也是由操作系统在多个线程之间快速切换,让每个线程都短暂地交替运行,看起来就像同时执行一样。当然,真正地同时执行多线程需要多核CPU才可能实现。

单个线程创建与启动

python提供了一个叫做threading的线程模块,threading里面提供了Thread类来创建一个线程对象。

下面的例子演示了启动一个线程并等待其结束:

不带参数的

带有参数的,注意参数如果只有一个,后面要加个 逗号,不然会报错

单个进程创建与启动

Python提供了一个可以跨平台的多进程模块支持——multiprocessing多进程模块。

multiprocessing模块有一个Process类来代表一个进程对象,下面的例子演示了启动一个子进程并等待其结束:

多线程与多进程

多线程

创建多线程很简单,只要多新建几个就可以了,如果更多可以使用循环的方式。

active_count() # 存活的线程数量

current_thread()# 当前线程

get_ident())# 线程标识 返回当前线程的 “线程标识符”。它是一个非零的整数

enumerate())# 当前存活的所有线程 返回列表

main_thread())# 主线程

多进程

多进程和线程一样,多创建几次就可以了。

进程池

进程如果要创建多个,除了上面的方法或者循环,还有进程池的方法,可以一次批量创建。

(全文完)


欢迎转载,转载请注明出处! 欢迎关注公众微信号:叶子陪你玩编程 分享自己的python学习之路

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 进程与线程的含义
  • 单个线程创建与启动
  • 单个进程创建与启动
  • 多线程与多进程
    • 多线程
      • 多进程
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档