1.进程队列:
import multiprocessing , queue ,time
q = queue.Queue(5)
def func(args):
print('>>>进程运行>>>')
time.sleep(1)
print(args)
if __name__=='__main__':
p1 = multiprocessing.Process(target = func,args=('进程 >>> %s' %1,)).start()
p2 = multiprocessing.Process(target = func,args=('进程 >>> %s' %2,)).start()
q.put(p1)
q.put(p2)
v1 = q.get()
v2 = q.get()
print(v1)
print(v2)
输出:
None
None
>>>进程运行>>>
>>>进程运行>>>
进程 >>> 1
进程 >>> 2
Process finished with exit code 0
2.协程:本是没有,由自己编程的时候制作的微线程:
运用原理:
import greenlet
#操控运行
def func1():
print(11)
g2.switch()
print(22)
def func2():
print(33)
g1.switch()
print(44)
g1 = greenlet.greenlet(func1)
g2 = greenlet.greenlet(func2)
g1.switch()
g2.switch()
输出:
11
33
22
44
(2).运用:
from gevent import monkey
#遇到IO操作就自行切换相当于greenlet.weitch()
monkey.patch_all()
import gevent , requests
HEADERS = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'referer': '',
'x-csrf-token': '',
'x-requested-with': 'XMLHttpRequest',
'cookie': ''',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko)'
' Chrome/90.0.4430.212 Safari/537.36'}
def get_content1(url):
r = requests.get(url,headers = HEADERS)
print(url,' >>>>>',[r.text],'\n'*2)
def get_content2(url):
r = requests.get(url,headers = HEADERS)
print(url,' >>>>>',[r.text],'\n'*2)
def get_content3(url):
r = requests.get(url,headers = HEADERS)
print(url,' >>>>>',[r.text],'\n'*2)
gevent.joinall([
gevent.spawn(get_content1,'http://www.ntyou.cc/'),
gevent.spawn(get_content2,'https://music.163.com/#/artist?id=12355573'),
gevent.spawn(get_content3,'https://www.kanman.com/sort/'),
])
输出:
https://www.kanman.com/sort/ >>>>> ['<!DOCTYPE html><html lang="zh-cn"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="Content-Language" content="zh-CN"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>全部漫画 漫画大全 好看的漫画大全 看漫画</title><meta name="keywords" content="全部漫画 漫画大全 好看的漫画大全 看漫画"><meta name="description" itemprop="description" content="看漫画为您提供比较齐全的各种类型漫画,本页面是本站的全部漫画,看漫画大全,找好看的漫画就上看漫画。".........]
https://music.163.com/#/artist?id=12355573 >>>>> ['<!DOCTYPE html>\n<html>\n<head>\n<meta charset="utf-8">\n<meta name="baidu_ssp_verify" content="39f14c78c537175eb4b5192c72d002c1" />\n<meta name="baidu-site-verification" content="cNhJHKEzsD" />\n<meta name="360-site-verification" content="e37aef53e3922913e2a6a4682e479b84" ..........]
http://www.ntyou.cc/ >>>>> ['<!DOCTYPE html><html><head><title>NT动漫_新番在线动漫_专注动漫的网站</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="keywords" content="NT动漫,新番动漫,在线动漫" /><meta name="description" content="NT动漫,专注的动漫的网站,立志为广大动漫迷提供一个在线看动漫的好平台。" ........]