zoukankan      html  css  js  c++  java
  • 进程与线程区别

    #!/usr/bin/env python
    # encoding: utf-8  
    # Date: 2018/6/18


    # 1、开进程的开销远大于开线程的
    # import time
    # from threading import Thread
    # from multiprocessing import Process
    #
    #
    # def task(name):
    #     print('%s is running ' % name)
    #     time.sleep(2)
    #     print('%s is done' % name)
    #
    #
    # if __name__ == '__main__':
    #     # t1 = Thread(target=task, args=('线程1', ))
    #     # t1.start()
    #     p1 = Process(target=task, args=('线程1',))
    #     p1.start()
    #     print('主线程')

    # 2、同一个进程内的线程共享该进程的地址空间
    # from threading import Thread
    # from multiprocessing import Process
    # n = 100
    #
    #
    # def task():
    #     global n
    #     n = 0
    #
    #
    # if __name__ == '__main__':
    #     t1 = Thread(target=task, )
    #     t1.start()
    #     t1.join()  # 主 0
    #     # p1 = Process(target=task, )
    #     # p1.start()
    #     # p1.join()
    #     print('主', n)  # 主 100

    # 3、瞅一眼pid
    # from multiprocessing import Process, current_process
    # import os
    #
    #
    # def task():
    #     # print(current_process().pid)
    #     print('子进程pid:%s  父进程pid: %s' % (os.getpid(), os.getppid()))
    #
    #
    # if __name__ == '__main__':
    #     p1 = Process(target=task, )
    #     p1.start()
    #     # print('主', current_process().pid)
    #     print('主', os.getpid())  # 作用同上一行代码

    from threading import Thread
    import os


    def task():
        print('子线程pid:%s ' % (os.getpid()))  # 子线程pid:37352


    if __name__ == '__main__':
        p1 = Thread(target=task, )
        p1.start()
        print('主', os.getpid())  # 主 37352



  • 相关阅读:
    SQLServer多表连接查询
    SQLServer基本查询
    SQLServer索引
    SQLServer之数据类型
    设计模式小结
    SQL跨项目查询语法
    利用CountDownLatch和Semaphore测试案例
    JUC包下Semaphore学习笔记
    JUC包下CountDownLatch学习笔记
    JUC包下CyclicBarrier学习笔记
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/9194503.html
Copyright © 2011-2022 走看看