zoukankan      html  css  js  c++  java
  • 网络编程-进程-1、什么叫进程?

    知识点:(1)什么叫进程? 举个例子:电脑上qq,是一个exe二进制文件,存在磁盘里的,这叫程序,当我们双击打开qq时,操作系统调用代码以及系统分配的资源(资源包括摄像头,内存,显卡,声卡等等),这时进程就产生了,简单说进程启动的程序就是运行代码+资源,没有启动的时候就是一个二进制文件,不调用任何系统资源.

                   (2)特别要注意,不要与线程搞混淆,看下图:

            

    1、在程序中实现多进程:

    """导入进程模块"""
    import multiprocessing
    import time
    
    
    def test1():
        for i in range(5):
            print('test1')
            time.sleep(1)
    
    
    def test2():
        for i in range(5):
            print('tetst2')
            time.sleep(1)
    
    """创建多进程其实和多线程模式是一样的,只是使用到的模块和类不一样"""
    def main():
        t1 = multiprocessing.Process(target=test1)
        t2 = multiprocessing.Process(target=test2)
        t1.start()
        t2.start()
    
    
    if __name__ == '__main__':
        main()

    运行效果如下:
    test1
    tetst2
    test1
    tetst2
    test1
    tetst2
    test1
    tetst2
    test1
    tetst2

    2、那么上面多进程程序工作原理是怎样的呢?看下图就明白了:

           图片中的解释可能字太小,我把拷贝出来:当代码执行到箭头处,即创建子进程的时候,会将1的代码+资源拷贝一份放到一个新的内存中去运行这个子进程。2,3俩个子进程都有一份和1主进程中一模一样的代码+资源,这就是通过进程实现多任务原理。由此也可以看出多进程实现多任务有几个特点:1、是比较耗费系统资源的,因为每个子进程都有雨主进程相同的系统分配的资源2、程序稳定,因为每个进程都是独立运行的,主进程结束也不影响子进程的运行,因为都有一份一摸一样的代码

    3、补充的知识点:如何在创建进程对象的时候往进程函数里传参呢?看下面代码示例:

    def test1(a,b,c,d,*args,**kwargs):
       print(a,b,c,d)
       print(args)
       print(kwargs)
    
    
    def test2():
        pass
    
    
    def main():
        t1 = multiprocessing.Process(target=test1,args=(1,2,3,4,5,6),kwargs={'name':'张三','sex':''})
        t1.start()
    
    
    if __name__ == '__main__':
        main()

    运行效果:
    1 2 3 4
    (5, 6)
    {'sex': '男', 'name': '张三'}
  • 相关阅读:
    Building Java Projects with Gradle
    Vert.x简介
    Spring及Spring Boot 国内快速开发框架
    dip vs di vs ioc
    Tools (StExBar vs Cmder)which can switch to command line window on context menu in windows OS
    SSO的定义、原理、组件及应用
    ModSecurity is an open source, cross-platform web application firewall (WAF) module.
    TDD中测试替身学习总结
    Spring事务银行转账示例
    台式机(华硕主板)前面板音频接口(耳机和麦克风)均无声的解决办法
  • 原文地址:https://www.cnblogs.com/lz-tester/p/9366071.html
Copyright © 2011-2022 走看看