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

wordpress站点安装宁波seo关键词优化报价

wordpress站点安装,宁波seo关键词优化报价,杭州广告公司排行榜,网站建设相关法律法规多道技术、进程理论 文章目录 多道技术、进程理论一、操作系统1.1操作系统1.2操作系统中的常见概念1.3操作系统的发展史 二、进程理论2.1同步、异步、阻塞、非阻塞2.2 进程的层次结构2.3 运行态、阻塞态、就绪态 三、开启进程的两种方式3.1使用Process创建进程的两种方式3.2 父…多道技术、进程理论 文章目录 多道技术、进程理论一、操作系统1.1操作系统1.2操作系统中的常见概念1.3操作系统的发展史 二、进程理论2.1同步、异步、阻塞、非阻塞2.2 进程的层次结构2.3 运行态、阻塞态、就绪态 三、开启进程的两种方式3.1使用Process创建进程的两种方式3.2 父进程与子进程的关系3.3 Process的属性介绍 一、操作系统 1.1操作系统 如下图所示操作系统是一个协调、管理和控制计算机硬件资源和软件资源的控制程序位于应用程序与硬件之间负责按用户的指令操作硬件。 1.2操作系统中的常见概念 串行一个任务完完整整地运行完毕后才能运行下一个任务。 并行真正意义上多个任务的同时运行只有多核才实现并行。 并发看起来多个任务是同时运行的即可单核也可以实现并发。(伪并行) cpu的功能cpu是用来做计算cpu是无法执行IO操作的。一旦遇到io操作程序会阻塞在原地cpu会去执行别的任务。 多道技术(单核cpu情况下)多道技术中的多道指的是多个程序多道技术的实现是为了解决多个程序竞争同一个cpu的问题解决方式即多路复用多路复用分为时间上的复用和空间上的复用。 空间上的复用多个程序共同加载入内存且程序在内存中是物理隔离的。时间上的复用程序并发运行时cpu会在多个运行的程序间来回切换。 程序并发运行时cpu会在多个进程间来回切换指的是 cpu运行期间遇到I/O操作时会切换处理其他程序。cpu运行期间在某程序上运行时间较长时也会切换处理其他程序。 简单来说就是cpu同时处理多个程序只是看起来的同时处理本质是cpu在多个程序间来回的切换。 1.3操作系统的发展史 发展阶段时间组成改进缺陷第一代1940~1955真空板和穿孔卡片无操作系统程序设计需直接操作硬件第二代1955~1965晶体管和批处理系统批处理节省时间串行操作且无法及时调整程序第三代1965~1980集成电路芯片和多道技术多道技术第四代1980至今个人pc并发 二、进程理论 进程指的就是一个正在运行的程序或者说是程序的运行过程即进程是一个抽象的概念。进程是起源于操作系统的是操作系统最核心的概念操作系统所有其他的概念都是围绕进程展开的。 进程和程序的区别程序仅仅指一堆代码而进程则是指程序的运行过程。拿厨师做菜举例程序相当于菜谱而进程则是厨师按菜谱做菜这个过程。 2.1同步、异步、阻塞、非阻塞 同步指程序在执行某个任务时会等待该任务完成然后才能继续执行后续的代码。在同步操作中程序的执行流程是线性的一个任务完成后才会执行下一个任务。 异步指程序在执行某个任务时不会等待该任务完成而是继续执行后续的代码。当该异步功能完成后通过状态、通知或回调来通知调用者。 阻塞当一个进程/线程执行一个需要等待的操作时它会停止执行直到该操作完成。这意味着进程/线程会被挂起直到所需的操作完成。 非阻塞当一个进程/线程执行一个需要等待的操作时它会继续执行后续的代码而不是停止等待。这意味着进程/线程可以同时进行其他工作而不需要等待某个操作完成。 同步与异步针对的是函数/任务的调用而言的阻塞与非阻塞针对的是进程/线程的。同步就是当一个进程发起一个函数/任务调用的时候一直等到函数/任务完成而进程继续处于激活状态阻塞是当请求不能满足的时候就将进程挂起也就是进程是非激活的。 2.2 进程的层次结构 在Linux中所有的进程都是以init(或systemd)进程为根组成树形结构。在windows中没有进程层次的概念所有的进程都是地位相同的。唯一类似于进程层次的暗示是在创建进程时父进程得到一个特别的句柄该句柄可以用来控制子进程但是父进程有权把该句柄传给其他子进程。 2.3 运行态、阻塞态、就绪态 运行态、阻塞态、就绪态是进程的三种状态其关系如下 三、开启进程的两种方式 父进程开启子进程的过程中操作系统会开辟一个新的内存空间存放子进程代码并将父进程数据拷贝一份给子进程。 3.1使用Process创建进程的两种方式 方式一 from multiprocessing import Process import time#子进程执行的函数 def task(x):print(%s is running %x)time.sleep(3)print(%s is done %x)#windows中创建子进程会父进程的文件作为模块导入(复制父进程数据)不写下方代码会引发循环导入问题。 if __name__ __main__:#创建子进程target传入子进程执行的功能args为task函数的参数如果传关键字参数用kwargspProcess(targettask,args(子进程,))#向操作系统请求开启子进程p.start本质上是运行了进程中的run方法p.start()print(主进程)#父进程需等待子进程结束以后才会结束方式二 from multiprocessing import Process import time#通过类创建子进程 class Myprocess(Process):def __init__(self,name):#Process类中有个参数name表示子进程的名称super().__init__(namename)#run函数为子进程执行的功能函数Myprocess是abc类的子类必须复写run函数def run(self):print(%s is running %self.name)time.sleep(3)print(%s is done %self.name)if __name__ __main__:pMyprocess(子进程1)#执行run方法向操作系统请求开启子进程p.start() print(主) 上述代码的打印结果为 原因是p.start() 向操作系统请求开启子进程而p.start函数的执行是异步的父进程请求完以后会继续执行下面的代码直到父进程执行完以后操作系统才开启完毕子进程并运行子进程。 如果想让子进程先运行完再打印’主’可以添加p.join() from multiprocessing import Process import time#通过类创建子进程 class Myprocess(Process):def __init__(self,name):#Process类中有个参数name表示子进程的名称super().__init__(namename)#run函数为子进程执行的功能函数Myprocess是abc类的子类必须复写run函数def run(self):print(%s is running %self.name)time.sleep(3)print(%s is done %self.name)if __name__ __main__:pMyprocess(子进程1)#执行run方法向操作系统请求开启子进程p.start() #父进程在此阻塞等待子进程运行结束后才运行下面的代码p.join()print(主)注意点 from multiprocessing import Process import timedef task(x):print(%s is running %x)time.sleep(3)print(%s is done %x)if __name__ __main__:p1Process(targettask,kwargs{x:子进程1})p2 Process(targettask, kwargs{x: 子进程2})p1.start()p1.join()p2.start()p2.join()print(主)上述代码中 p1.start() p1.join() p2.start() p2.join() 会让子进程p1运行完以后才开启子进程p2子进程p2运行完后打印’主‘。话句话是就是子进程p1和子进程p2变成同步运行的了。 如果想让子进程p1和子进程p2异步运行并在两子进程运行完后父进程才打印’主’应将程序改为 from multiprocessing import Process import timedef task(x):print(%s is running %x)time.sleep(3)print(%s is done %x)if __name__ __main__:p1Process(targettask,kwargs{x:子进程1})p2 Process(targettask, kwargs{x: 子进程2})p1.start()p2.start()p1.join()p2.join()print(主)3.2 父进程与子进程的关系 各个进程之间是相互隔离的也就是说某一个进程中数据的变化不会影响其他进程。父进程执行完以后需等待子进程执行完并回收子进程的pid号。 3.3 Process的属性介绍 from multiprocessing import Process import timeclass Myprocess(Process):def __init__(self,name):super().__init__(namename)def run(self):print(%s is running %self.name)time.sleep(3)print(%s is done %self.name)if __name__ __main__:pMyprocess(子进程1)如上方代码所示创建子进程p。 p.terminate()表示向操作系统请求强制终止子进程p。 p.is_alive()表示查看子进程是否存活。 p.pid表示子进程的pid号。如果想查看父进程的pid可以在父进程使用os.getpid()或者在子进程使用os.getppid() p.name表示子进程的名称。
http://www.hkea.cn/news/14581526/

相关文章:

  • 两颗米随州网站建设wordpress安装数据库端口
  • 城乡建设杂志社官方网站百度短链接生成器
  • 银行 网站开发 干什么岳阳推广公司
  • 百度做网站投广告成都网页制作培训机构
  • 深圳哪个网站建设公司好做风险投资网站
  • 怎样建设个人网站网络服务费计入什么科目
  • 内丘附近网站建设价格网站建设网站维护的具体内容是什么
  • 河北企业建站系统信息开公司要多少注册资金
  • 网站悬浮窗广告怎么做网站建设需要参考哪些文献
  • 百度站长工具如何使用查看网站外链代码
  • 江西省建设协会网站信专业广州网站建设
  • 网站建设廾金手指专业壹陆徐州做网站的哪个好
  • 郴州网站排名优化三网合一 网站
  • 网站内容的排版布局梦之翼wordpress主题站
  • 网站 视觉上wordpress怎么搜索博客
  • 企业多语言网站开发手机设计专用软件
  • 共享经济型网站开发个人承接网站开发项目
  • 怎么做属于自己的音乐网站asp.net mvc 手机网站
  • 高端网站公司自定义表单网站
  • 建设网站注意哪几点重庆妇科医院咨询
  • 五屏网站建设动态wordpress整合ldap
  • 成都网站seo技术上海传媒公司艺人
  • 网站建设公司推江门建站网站模板
  • 阿里云建站视频教程微商城开发发
  • 软件技术有限公司Wordpress百万访问优化
  • 怎么建设官方网站特价锦州网站建设
  • 网站设计与平面设计区别网络热词2021流行语
  • 哪个网站可以做自由行地图做简单网站怎么做
  • 河南省建设工程信息网站宝安做网站
  • 网站建设考试试卷上海微网站制作设计制作