当前位置: 首页 > news >正文

诸暨做网站公司网页设计与制作教程第四版电子书

诸暨做网站公司,网页设计与制作教程第四版电子书,wordpress商城主题模板下载地址,网站上seo怎么做欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、并行执行二、threading模块 前言 现代操作系统如 macOS、UNIX、Linux 和 Windows 等,均支持多任务处理。本篇文章详细讲解了并行执行的概念以及如何在 …

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!

文章目录

  • 前言
  • 一、并行执行
  • 二、threading模块


前言

现代操作系统如 macOS、UNIX、Linux 和 Windows 等,均支持多任务处理。本篇文章详细讲解了并行执行的概念以及如何在 Python 中利用 threading 模块实现多线程编程。


本篇文章参考:黑马程序员

一、并行执行

①进程
进程是计算机程序的一次执行实例,是操作系统对正在运行的程序所分配的资源的集合。每个进程都有自己的内存空间、系统资源和执行状态。在操作系统中,进程是资源调度和管理的基本单位。一个进程可以包含多个线程。

②线程
线程是进程中的一个执行单元,是操作系统进行 CPU 调度的最小单位。一个进程可以由多个线程组成,它们共享进程的资源,如内存和文件描述符。在同一进程中的线程之间可以直接通信。

通俗来讲,进程就好比一家公司,是操作系统对程序进行运行管理的单位;线程就好比公司的员工,是进程实际的工作者,并且一个进程(公司)可以有多个线程(员工)。

③并行执行
并行执行是指在同一时间内进行不同的工作
多个进程可以在操作系统中同时运行,即使在单核处理器上,进程之间也会通过时间片轮转等机制实现并行效果。
而在一个进程内部,多线程的执行更是可以帮助我们实现真正的并行操作,比如一个Python程序可以做到一个线程在输出“你好”,另一个线程在输出“Hello”,像这样一个程序在同一时间做两件乃至多件不同的事情, 我们就称之为多线程并行执行。

操作系统中可以运行多个进程,即多任务运行。
一个进程内可以运行多个线程,即多线程运行。

【注意】

  • 进程之间是内存隔离的, 即不同的进程拥有各自的内存空间。 这就类似于不同的公司拥有不同的办公场所。
  • 线程之间是内存共享的,线程是属于进程的,一个进程内的多个线程之间是共享这个进程所拥有的内存空间的。 这就类似于公司员工之间是共享公司的办公场所。

在这里插入图片描述

二、threading模块

大多数现代编程语言都支持多线程编程,Python 也不例外。Python 提供了 threading 模块来实现多线程操作,其基本的使用方法如下:
①导入threading模块

import threading  

②定义线程要执行的函数

def thread_function():  # 线程执行的任务  pass

③创建线程对象
thread_obj = threading.Thread([group [, target [, name [, args [, kwargs]]]]]

  • group:暂时无用,未来功能的预留参数
  • target:执行的目标任务名
  • name:线程名,一般不用设置
  • args:以元组的方式给执行任务传参
  • kwargs:以字典方式给执行任务传参

④启动线程
thread_obj.start()

【示例】

import time
def sing():while True:print("在唱歌")# 等待 1 秒time.sleep(1)def dance():while True:print("在唱歌")# 等待 1 秒time.sleep(1)if __name__ == '__main__':sing()dance()

运行后会一直输出“在唱歌”

输出结果:
在唱歌
在唱歌
在唱歌
……

【分析】
在这段代码中,sing() 在主线程中运行,由于while True:永远为真,sing() 会无限循环,程序会一直在这个循环中执行。因此,dance() 函数永远不会被调用,运行后会一直输出“在唱歌”。

import time
import threadingdef sing():while True:print("在唱歌")time.sleep(1)def dance():while True:print("在跳舞")time.sleep(1)if __name__ == '__main__':# 创建一个新的线程,其目标函数为 singsing_thread=threading.Thread(target=sing)# 创建另一个线程,其目标函数为 dancedance_thread=threading.Thread(target=dance)# 启动线程sing_thread.start()dance_thread.start()

输出结果:
在唱歌
在跳舞
在唱歌
在跳舞
……

【分析】
在这段代码中,sing 和 dance 函数分别代表两个独立的线程。它们在同一时间内向控制台输出信息,实现了并行执行。

若需给线程传递参数,可以使用 args 和 kwargs形参:

  • args:以元组的方式给执行任务传参
  • kwargs:以字典方式给执行任务传参

【示例】

import time
import threadingdef sing(msg):while True:print(msg)time.sleep(1)def dance(msg):while True:print(msg)time.sleep(1)if __name__ == '__main__':# 创建一个唱歌的线程# 传入元组(元组是用逗号区分的,当只有一个元素时,需要在其后面加逗号)sing_thread=threading.Thread(target=sing,args=("在唱歌",))# 创建一个跳舞的线程dance_thread=threading.Thread(target=dance,kwargs={"msg":"在跳舞"})# 启动线程sing_thread.start()dance_thread.start()

输出结果:
在唱歌
在跳舞
在唱歌
在跳舞
……

在这个例子中,sing 函数和 dance 函数各自接受消息参数,实现了更灵活的输出功能。

http://www.yayakq.cn/news/307361/

相关文章:

  • h5 网站开发流程正规营销型网站建设
  • 天津网站建设案例展示建设网站的功能及目的是什么意思
  • 电商运营网站 建设做视频有赚钱的网站
  • 网站设计的逻辑结构没有排名的网站怎么做
  • 内部网站做登陆内部链接提供网站建设课程
  • 广州大型网站建设宿迁房产查询网上查询系统
  • 建设网站公司哪里好有赞分销
  • 阿玛尼手表网站seo教程技术优化搜索引擎
  • 网站建设公司推荐万维科技哪个网站做美食视频软件
  • myeclipse做网站更改名字网站建设 阿里巴巴旗下
  • 不做网站做百家号不用js做网站
  • 那些做环保网站的好处查询做导员的网站
  • 网站推广营销策划方案广告创意设计说明
  • 佛山网站定制开发wordpress白色主题
  • 安徽网站排名常见的有利于seo的网站系统
  • 网站cms下载网络服务业
  • 响应式网站 cms外贸网站公司
  • 网站企业地图wordpress tags
  • 德令哈市公司网站建设wordpress安卓
  • 哈尔滨市延寿建设局网站深圳成豪设计
  • 网站开发怎么使用维语长春电商网站建设价格
  • 安徽餐饮加盟网站建设店铺设计思路及创意
  • 为什么要推行政务公开网站建设wordpress固定链接发布文章500
  • wordpress 适合做什么网站大连建设
  • 网站修改标题有影响吗郑州网站公司排名
  • 网站制作app排行榜前十名商业授权书
  • 哪有免费的网站济南建设工程备案网站
  • 中小企业网站用什么技术中国建设工程信息网招标公告
  • 了解互联网 网站网站建设方案书 模板
  • 网页设计比较好的网站全包装修公司哪家好点