当前位置: 首页 > news >正文

网站的登录注册怎么做wordpress多个主体功能合并

网站的登录注册怎么做,wordpress多个主体功能合并,网站网址怎么写,wordpress怎么加锚文本一、数据共享 from multiprocessing import Manager 把所有实现了数据共享的比较便捷的类都重新又封装了一遍#xff0c;并且在原有的multiprocessing基础上增加了新的机制list、dict 机制#xff1a;支持的数据类型非常有限 list、dict都不是数据安全的#xff0c;需要自己…一、数据共享   from multiprocessing import Manager   把所有实现了数据共享的比较便捷的类都重新又封装了一遍并且在原有的multiprocessing基础上增加了新的机制list、dict   机制支持的数据类型非常有限     list、dict都不是数据安全的需要自己加锁来保证数据安全 from multiprocessing import Manager,Process,Lockdef work(d,lock):with lock:d[count] - 1if __name__ __main__:lock Lock()with Manager() as m: # m Manager()dic m.dict({count:100})p_lst []for i in range(10):p Process(targetwork, args(dic, lock))p_lst.append(p)p.start()for p in p_lst:p.join()print(dic) #{count: 90} with ......一大段语句 dis模块 python的上下文管理 在执行一大段语句之前自动做某个操作 open 在执行一大段语句之后自动做某个操作 close面向对象的魔术方法双下杠杠方法 # 回调函数 in Poolimport os from multiprocessing import Pooldef func(i):print(第一个任务, os.getpid())return **idef call_back(res): #回调函数print(回调函数, os.getpid())print(res---, res)if __name__ __main__:p Pool()print(主进程, os.getpid())p.apply_async(func, args(1,), callbackcall_back)p.close()p.join()   func执行完毕之后执行callback函数   func的返回值会作为callback的参数   回调函数是在主进程中实现的   应用场景子进程有大量运算要做回调函数等待结果做简单处理 import re from urllib.request import urlopen from multiprocessing import Poolurl_lst [http://www.baidu.com,http://www.sohu.com,http://www.sogou.com,http://www.4399.com,http://www.cnblogs.com, ]def get_url(url):response urlopen(url)ret re.search(www\.(.*?)\.com, url)print(%s finished % ret.group(1))return ret.group(1),response.read()def call(content):url,con contentwith open(url.html, wb)as f:f.write(con) if __name__ __main__:p Pool()for url in url_lst:p.apply_async(get_url,args(url,),callbackcall)p.close()p.join() 子进程去访问网页主进程处理网页的结果   二、线程理论基础   进程是计算机中最小的资源分配单位进程对于操作系统来说还具有一定的负担   创建一个进程操作系统分配的资源大约有代码数据文件等 1、为什么要有线程   线程是轻量级的概念他没有属于自己的进程资源一条线程只负责执行代码没有自己独立的代码、数据以及文件   线程是计算机中能被CPU调用的最小的单位当前大部分计算机中的CPU都是执行的线程中的代码   线程与进程之间的关系每一个进程中都至少有一条线程在工作 线程的特点   同一个进程中的所有线程的资源是共享的   轻量级 没有自己的资源 进程与线程之间的区别       占用的资源、调度的效率、资源是否共享 线程的并行问题   线程可以并行java、cc#等   在cpython中一个进程中的多个线程是不可以并行的   原因是Cpython解释器内部有一把全局解释器锁GIL所以线程不能充分利用多核同一时刻同一进程中的线程只有一个能被cpu执行   GIL锁确实是限制了你程序的效率但目前可以帮助你提高线程之间切换的效率   如果是想写高计算型的就要多进程或者换一个解释器 2、threading 模块 # 并发import os from threading import Threaddef func(i):print(子线程, i, os.getpid())print(主线程, os.getpid()) for i in range(10):t Thread(targetfunc, args(i,))t.start() # 进程和线程的差距import os import time from threading import Thread from multiprocessing import Processdef func(i):print(子, os.getpid())if __name__ __main__:start time.time()t_lst []for i in range(100):t Thread(targetfunc, args(i,))t.start()t_lst.append(t)for t in t_lst:t.join()end time.time()-startstart time.time()t_lst []for i in range(100):p Process(targetfunc, args(i,))p.start()t_lst.append(p)for p in t_lst:p.join()end2 time.time()-startprint(end, end2) #0.0279843807220459 13.582834720611572 # 线程间的数据共享from threading import Threadnum 100 def func():global numnum - 1 #每个线程都-1t_lst [] for i in range(100):t Thread(targetfunc) #创建一百个线程t.start()t_lst.append(t) for t in t_lst:t.join() print(num) #0  Thread 类的其他用法 Thread实例对象的方法# isAlive(): 返回线程是否活动的。# getName(): 返回线程名。# setName(): 设置线程名。threading模块提供的一些方法# threading.currentThread(): 返回当前的线程变量。# threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前不包括启动前和终止后的线程。# threading.activeCount(): 返回正在运行的线程数量与len(threading.enumerate())有相同的结果。 from threading import currentThread,Thread def func():time.sleep(2)t Thread(targetfunc) t.start() print(t.is_alive()) #True判断线程是否活着 print(t.getName()) #Tread-1 t.setName(tt) print(t.getName()) #tt改名字def func():print(子线程, currentThread().ident)time.sleep(2) print(主线程,currentThread().ident) t Thread(targetfunc) t.start() #currentThread().ident返回线程的pidfrom threading import enumerate def func():print(子进程, currentThread().ident)time.sleep(2)print(主进程, currentThread().ident) for i in range(10):t Thread(targetfunc)t.start() print(len(enumerate())) #enumerate()返回一个包含正在运行的线程的listlen(list)from threading import activeCount def func():print(子线程, currentThread().ident)time.sleep(2)print(主线程, currentThread().ident) for i in range(10):t Thread(targetfunc)t.start() print(activeCount()) #activeCount()返回正在运行的线程数量与len(threading.enumerate())有相同的结果 示例 3、守护线程 import time from threading import Threaddef func():while True:time.sleep(1)print(123)def func2():print(func2 start)time.sleep(3)print(func2 end)t1 Thread(targetfunc) t2 Thread(targetfunc2) t1.setDaemon(True) t1.start() t2.start() print(主线程代码结束) # func2 start #主线程代码结束 #123 #123 #func2 end     守护线程 是在主线程代码结束之后再等待子线程执行结束后才结束   主线程结束  就意味着主进程结束   主线程等待所有的线程结束   主线程结束了以后  守护线程会随着主进程的结束而随之结束  不是随着代码的结束而结束    ################################################################################# 线程线程和进程之间的关系 每个进程内都有一个线程 线程是不能独立存在的线程和进程之间的区别 同一个进程中线程之间的数据是共享的 进程之间的数据是隔离的 线程是被cpu执行的最小单位 操作系统调度 进程是计算机中最小的资源分配单位python GIL锁 全局解释器锁 全局锁 cpython解释器中的 锁线程 同一时刻同一个进程只会有一个线程访问CPU 锁的是线程而不是数据 当程序是高IO型的 多线程 当程序是高计算(CPU)型的 多进程 cpu*1 ~ cpu*2threadingThread 守护线程 主线程结束之后才结束socket_server IO多路复用 多线程框架 并发的效果 多线程、协程的概念 flask爬虫 线程池 协程set、dict、list生成器面向对象的进阶 魔术方法管道socket_server的源码 转载于:https://www.cnblogs.com/yzh2857/p/9699875.html
http://www.yutouwan.com/news/56129/

相关文章:

  • 泰州建设局网站安监站通报湛江做网站电话
  • 精彩的网格布局网站乐清新闻最新消息视频
  • 县总工会网站建设情况介绍基于微信的网站开发
  • 南昌网站建设哪家好薇企业网站的优点和缺点
  • 网站首页设计风格有哪些化工行业网站设计
  • 青海省住房和城乡建设厅 网站首页wordpress多主题插件下载
  • 关于论文网站开发参考文献关于做摄影的网站
  • 网站推广属于什么行业中国建设手机银行app下载
  • 网站名词排名怎么做网站备案信息可以改吗
  • 紫色网站房车网站建设意义
  • 网站设计公司如何做好网站建设wordpress添加本地视频
  • 凡科建站电话咨询山东广饶县建设局网站
  • 安徽省住房和城乡建设部网站在谷歌上做国际网站
  • 软件承接网站建设百度网站建设产品
  • 怎么做网站seo优化阳城网站建设
  • 档案网站建设的步骤百度风云榜排行榜
  • php网站开发软件是什么产品网站建设方案
  • wordpress 好吗知乎系统优化的意义
  • 响应式网站建设服务商打开备份的wordpress
  • 关于公司网站建设方案收集微商城网站制作
  • 网站建设提成北京外贸网站建设价格
  • 上海专业制作电子商务网站天津建设工程投标信息
  • 云南网站建设小程序开发织梦网站栏目如何做下拉
  • 开发微信微网站建设wordpress回复邮箱
  • 网站管理主要包括哪些内容女孩学电子商务专业好就业吗
  • 自己买个服务器做网站如何购买一个网站的域名
  • 什么是网站交互性30分钟网站建设教程视频
  • 给别人做网站打电话推销外贸流程实训报告
  • 网站建设功能要求有没有专门做中考卷子的网站
  • 网站建设业务开展方案中式风格装修效果图