Python的线程与进程


前言

在实际运用中Python程序往往要处理多个任务,那么如何让Python程序执行多任务呢?这就用到了线程和进程,线程和进程又各有特点,下面就进一步阐述线程和进程


一、多任务

1.1.多任务就是同一时间,多个任务

1.2.并发
在一段时间内交替执行多个任务
1.3并行
同时在一起执行多个任务

二、进程

1.进程的概念

资源分配的最小单位-——它是操作系统进行资源分配的调度运行的基本单位。
例如: 一个正在运行的程序

2.进程的创建

1.导入进程库

代码如下:

import multiprocessing

2.创建进程对象

进程对象=multiprocessing.Process(target=a)

a为任务名

3.启动进程执行任务

进程对象.start()

4.获取进程编号

os.getpid() #获取当前进程编号

5.程序示例

import multiprocessing
def a():
    for i in range(3):
        print('read')

def b():
    for i in range(3):
        print('write')

if __name__=='__main__':
    jin = multiprocessing.Process(target=a)
    ejin = multiprocessing.Process(target=b)
    jin.start()
    ejin.start()

运行结果

readwrite

readwrite

writeread

三、线程

1.线程的概念

线程:程序执行的最小单位
一个进程中最少有一个线程来执行程序,本身不占有系统资源(只需要在运行中必需的资源),它可以与同属于一个进程的线程共享其拥有的全部资源(例如:一个程序可以同时打开两个窗口)

2.线程的创建

1.导入线程库

代码如下:

import threading

2.创建进程对象

进程对象=threading.Thread(target=a)

a为任务名

3.启动进程执行任务

线程对象.start()

4.获取进程编号

os.getpid() #获取当前进程编号

5.程序示例

import threading
import time
def a():
    for i in range(3):
        print('read')
        time.sleep(1)

def b():
    for j in range(3):
        print('write')
        time.sleep(1)
        
if __name__=='__main__':
    read = threading.Thread(target=a)
    write = threading.Thread(target=b)
    read.start()
    write.start()

运行结果

read
write
read
write
readwrite

四、守护线程

一般情况下主线程会等待所有子线程结束才会结束

在实际运用中有时候需要避免这种情况,那么就可以通过设置守护线程来达到主线程不会等待子线程结束才结束

1.设置守护线程的方法

线程对象= = threading.Thread(target=a,daemon=True)

或者在线程启动之前加一行代码

线程对象.setDeamon(True)

总结

本文仅仅简单介绍了线程与进程的基本概念及使用使用,进程和线程给我们提供了一种一个程序执行多个任务的途径,在实际运用中有着很大的作用。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值