欢迎来到簟纹灯影的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

03-11 51—55

51.什么是反向代理和反向代理?

# 答案:
'''
反向代理,这个词相信搞网络的朋友都很熟悉的,但是具体是什么意思呢?说实话,复杂的我也不懂,就我个人理解而言,反向代理有很多用途,比如说保护真实服务器不被外界攻击,加速网络等等。今天我们要介绍的就是加速网络的一种。
'''

52.创建进程:

'''
1.首先要导入multiprocessing中的Process;
2.创建一个Process对象;
3.创建Process对象时,可以传递参数;

1.p = Process(target=XXX, args=(元组,) , kwargs={key:value}) 
2.target = XXX 指定的任务函数,不用加() 
3.args=(元组,) , kwargs={key:value} 给任务函数传递的参数 
4.使用start()启动进程;
5.结束进程。
'''

53.给子进程指定函数传递参数Demo:

import os
from multiprocessing import Process
import time
def pro_func(name, age, **kwargs):
    for i in range(5):
    print("子进程正在运行中,name=%s, age=%d, pid=%d" %(name, age, os.getpid()))
    print(kwargs)
    time.sleep(0.2)
if __name__ == '__main__':
    # 创建Process对象
    p = Process(target=pro_func, args=('小明',18), kwargs={'m': 20})
    # 启动进程
    p.start()

time.sleep(1) # 1秒钟之后,立刻结束子进程 17.
p.terminate()
p.join() 注意:进程间不共享全局变量。

54.进程之间的通信-Queue

在初始化Queue()对象时,(例如q=Queue(),若在括号中没有指定最大可接受的消息数量,或数

量为负值时,那么就代表可接受的消息数量没有上限-直到内存的尽头)

55.进程间通信Demo:

from multiprocessing import Process, Queueimport os, time, random # 写数据进程执行的代码:def write(q):
for value in ['A', 'B', 'C']:
    print('Put %s to queue...' % value)
    q.put(value)
    time.sleep(random.random())
posted @ 2020-03-24 20:06  簟纹灯影  阅读(59)  评论(0)    收藏  举报