python进程线程基础知识

35 阅读3分钟

print('唱歌')

sleep(1)

def dance(num,name):#定义一个dance函数

for i in range(num):

print(name)

print('跳舞')

sleep(1)

if name == 'main':

#通过multiprocessing.Process方法创建进程,传入两个参数(target,args),第一个参数表示创建

#进程时需要执行的函数名,第二个参数是函数执行所需要的参数,两个参数顺序需要和定义的函数一致

singProcess = multiprocessing.Process(target=sing,args=(3,'jerry'))

#同样的方法创建进程,所不同的是第二个参数,第二个参数同样的是给定义的函数传入参数,不同于args的是

#kwargs是一个字典,在字典的key对应的是函数的参数名,字典的值对应函数的值,两个参数的顺序可以更换

danceProcess = multiprocessing.Process(target=dance,kwargs={'num':3,'name':'tom'})

singProcess.start() #使用start()方法启动唱歌进程执行任务

danceProcess.start() #同样的套路启动跳舞进程执行任务


二、线程


1、安装

python线程的使用内置有两个模块,_thread和threading,threading模块的功能比_thread模块多且包含了_thread模块的功能,这里主要使用的是threading模块。、

2、语法格式

1.导入线程模块

import threading

2.通过线程类创建线程对象

线程对象 = threading.Thread(target = 任务名)#任务名就是需要执行的方法名/函数名

3.启动线程执行任务

线程对象.start()

===线程执行带有参数的任务===

和进程一样,可以通过args(元组)以顺序传递,传参一定要和参数的顺序一致或者kwargs{键:值}进行传参,传参的名字和字典的键值一致


设置守护主线程 (需要在启动线程之前设置)

#设置守护主线程方式1,daemon = True 守护主线程

work = threading.Thread(target = 方法名,daemon = True)

#方法2

work.setDaemon(True)

3、使用

import threading #导入python线程模块

from time import sleep #导入time中的sleep方法

def sing(num,name):#定义一个sing()函数

for i in range(num):

print(name)

print(i,'唱歌')

sleep(1)

def dance(num,name):#定义一个dance()函数

for i in range(num):

print(name)

print(i,'跳舞')

sleep(1)

if name == 'main':

#代码格式同上面的进程一样,通过进程类创建进程对象

singThread = threading.Thread(target=sing,args=(5,'jerry'))

danceThread = threading.Thread(target=dance,kwargs={'num':5,'name':'tom'})

singThread.start() #启动进程执行任务

danceThread.start()

三、总结


python的进程和线程的一个基本的创建非常的简单,这也同样的体现了python语法的简洁性。使用python的进程和线程基本可以分为下面这四步:

  1. 导包
  2. 创建进程 / 线程target参数(函数)

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

了解详情:docs.qq.com/doc/DSnl3ZG…