IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 博学谷学习记录之人工智能(python进阶编程)第五篇 -> 正文阅读

[Python知识库]博学谷学习记录之人工智能(python进阶编程)第五篇

目录

python的进程和线程

获取进程编号

线程的概念

进程和线程对比

python的进程和线程

当多个任务同时进行可以大大提高程序你的执行效率,比如一个某聊天软件可以登录两个账号且两个账号可以独立运行。

那么执行多任务表现形式有那些?

1.并发操作:如:一个人同时既可以一边看电视又可以一边嗑瓜子

2.并行操作:如:两个人同时一起盖房子,一个人负责搬砖和水泥,一个人负责切墙

进程的概念:

进程是是资源分配的最小单位,它是操作系统进行资源分配和调度运行的基本单位,通俗理解:一个正在运行的程序就是一个进程。

#程序1
def test01():
    print('我是程序1')
def test02():
    print("我是程序2")


test01()
test02()

#在这种情况下,程序的执行的顺序是 test01() test02()

那么如何将两个程序同时运行呢?可以导入进程包?multiprocessing

#导入进程包
import multiprocessing

#程序1
def test01():
    print('我是程序1')
def test02():
    print("我是程序2")


test01_process = multiprocessing.Process(target=test01)
test02_process = multiprocessing.Process(target=test02)

test01_process.start()
test02_process.start()

获取进程编号

当程序中进程的数量越来越多时 , 如果没有办法区分主进程和子进程还有不同的子进程 , 那么就无法进行有效的进程管理 , 为了方便管理实际上每个进程都是有自己编号的。

1.获取当前进程的编号? ? getpid()

2.获取当前进程的父进程?getppid()

import os


def test01():
    # 获取当前进程的编号
    print('test01进程编号', os.getpid())
    # 获取父进程的编号
    print('test01父进程的编号', os.getppid())
    
test01()

线程的概念

想要实现多任务还可以使用多线程来完成.

线程是程序执行的最小单位 , 实际上进程只负责分配资源 , 而利用这些资源执行程序的是线程 , 也就说进程是线程的容器 , 一个进程中最少有一个线程来负责执行程序 。同时线程自己不拥有系统资源,只需要一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

import threading


def test01():
    for i in range(3):
        print('听音乐...')


def test02():
    for i in range(3):
        print('敲代码...')
        



music_thread = threading.Thread(target=test01)
coding_thread = threading.Thread(target=test02)

music_thread.start()
coding_thread.start()

进程和线程对比

关系对比区别对比优缺点对比
线程是依附在进程里面的,没有进程就没有线程。创建进程的资源开销要比创建线程的资源开销要大进程可以多核资源开销大
一个进程默认提供一条线程,进程可以创建多个线程。进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位线程资源开销小,但是不能多核

本周结束,下周继续。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 11:52:04  更:2022-10-31 11:54:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 3:06:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计