1.多道技术  见上一节<br></br>    空间复用<br></br>    时间复用<br></br><br></br><br></br>并发<br></br>    在同一个时间段内 发生的多个事情,本质是不停切换执行 多个进程随机执行<br></br>并行<br></br>    在同一时刻 同时进行多个事情(只有多核处理器才能真实并行)<br></br>串行<br></br>    一个一个依次排队执行<br></br>    第一个任务没执行完   第二个只能等待<br></br><br></br>阻塞   遇到i/o操作 看起来就是代码卡主了 因为cpu被分配给其他进程<br></br>非阻塞    不会卡主代码的执行 只要还拥有cpu的执行权 就不叫阻塞<br></br>阻塞 和非阻塞 说的是同一个进程的情况下<br></br><br></br>多线程后再议!<br></br>同步 一个调用必须获得返回结果才能继续执行<br></br>异步 一个调用发起后 发起方不需要等待它的返回结果<br></br><br></br>同步和异步 必须存在多个进程(线程)<br></br>无论是进程还是线程都是两条独立的执行路径<br></br><br></br><br></br>思考:多核处理器 能不能真正的并行?<br></br>        可以 每个核可以单独负责一个任务  这些任务可以同时进行<br></br><br></br><br></br>2.python如何使用多进程 ******<br></br><br></br>    1.直接创建Process对象 同时传入要做的事情就是一个函数<br></br>    2.创建一个类 继承自Process 把要做的任务放在run方法中<br></br><br></br>1、创建进程的两种方式<br></br>        方式一:<br></br>        from multiprocessing import Process<br></br><br></br>        def task(name):<br></br>            print('%s is running' %name)<br></br><br></br>        if __name__ == '__main__':<br></br>            obj=Process(taget=task,args=('egon',))<br></br>            obj.start() # 发送信号给操作系统<br></br>            print('主')<br></br>            task('xxx')<br></br><br></br>        方式二:<br></br>        from multiprocessing import Process<br></br><br></br>        class MyTask(Process):<br></br>            def run(self):<br></br>                print('%s is running' %self.name)<br></br><br></br>        if __name__ == '__main__':<br></br>            obj=MyTask()<br></br>            obj.start() # 发送信号给操作系统<br></br><br></br>    2、进程之间地址空间隔离<br></br><br></br>    3.父进程与子进程间的执行顺序 ******<br></br>        主进程必然先执行<br></br>        子进程应该在主进程执行后执行<br></br>        一旦子进程启动了 后续的顺序就无法控制了<br></br><br></br>    4、进程对象的常用属性<br></br>        obj.start() 开启进程<br></br>        obj.join(1) 父进程等待子进程<br></br><br></br>        obj.terminate() 终止进程<br></br>        obj.is_alive()  是否存活<br></br><br></br>        obj.pid  获取进程id<br></br>        obj.name 进程名称<br></br><br></br>    5、僵尸进程与孤儿进程<br></br><br></br>僵尸进程:有害<br></br>  一个进程任务执行完就死亡了  但是操作系统不会立即将其清理<br></br><br></br>孤儿进程  无害!<br></br>    没有爹的称为孤儿

标签: none

相关文章推荐

添加新评论,含*的栏目为必填