zoukankan      html  css  js  c++  java
  • 多线程《三》进程与线程的区别

    #1 进程的开销大于线程
    # from threading import Thread
    # import time
    #
    # def task(name):
    # print('%s is running'%name)
    # time.sleep(3)
    # print('%s is done'%name)
    #
    # if __name__ == '__main__':
    # t=Thread(target=task,args=('alex',)) #元祖形式
    # t.start()
    # print('主线程') #alex is running 主进程 几乎是同时打印



    # from multiprocessing import Process
    # import time
    #
    # def task(name):
    # print('%s is running'%name)
    # time.sleep(3)
    # print('%s is done'%name)
    #
    # if __name__ == '__main__':
    # t=Process(target=task,args=('alex',)) #元祖形式
    # t.start()
    # print('主进程') #一定是先打印主进程 因为他要申请内存空间

    将开启进程的信号发给操作系统后,操作系统要申请内存空间,让好拷贝父进程地址空间到子进程,开销远大于线程

    #2同一进程内的多个线程共享进程的地址空间
    '''
    from multiprocessing import Process
    import os
    def work():
    global n
    n=0

    if __name__ == '__main__':
    n=100
    p=Process(target=work)
    p.start()
    p.join()
    print('主',n)


    from threading import Thread
    import os
    def work():
    global n
    n=0

    if __name__ == '__main__':
    n=100
    t=Thread(target=work)
    t.start()
    t.join()
    print('主线程',n)
    '''


    #3 pid

    # from multiprocessing import Process
    # import os
    #
    # def work():
    # print('hello',os.getpid())
    #
    # if __name__ == '__main__':
    # p1=Process(target=work)
    # p2=Process(target=work)
    # p1.start()
    # p2.start()
    # print('主进程',os.getpid())


    from threading import Thread
    import os

    def work():
    print('hello',os.getpid())

    if __name__ == '__main__':
    t1=Thread(target=work)

    t1.start()
    print('主线程pid',os.getpid())
  • 相关阅读:
    数据库索引(Oracle和Mysql)学习总结
    个人开源Git地址
    关于SQL优化这些你了解吗?
    Java项目排查cpu负载高
    Java Bean与Map之间相互转化的实现
    Maven项目改为spring boot项目的方法
    spring boot从redis取缓存发生java.lang.ClassCastException异常
    MySQL优化之Explain命令解读
    阿里巴巴校招四面经验分享
    HDBS之应用代码优化
  • 原文地址:https://www.cnblogs.com/sunny666/p/9977445.html
Copyright © 2011-2022 走看看