zoukankan      html  css  js  c++  java
  • 线程

    进程是执行中的程序,线程则是轻量级的进程

    线程是cpu调度的最小单位,而进程是资源分配的最小单位

    进程包含线程,GIL全局解释器锁,只是在Cpython中,

    在一个程序中可以同时有多进程和线程

    开启多线程

    import os
    import time
    from  threading import Thread
    class Tt(Thread):
        def run(self):
            time.sleep(1)
            print('nihao ',os.getpid())
    
    for i in range(10):
        t = Tt()
        t.start()
    C:UsershcAppDataLocalProgramsPythonPython36python3.exe C:/s9/37day/37.py
    nihao  12076
    nihao  12076
    nihao  12076
    nihao  12076
    nihao  12076
    nihao  12076
    nihao  12076
    nihao  12076
    nihao  12076
    nihao  12076
    
    Process finished with exit code 0

    开启多线程的另一种方法

    import time
    from threading import Thread
    class A(Thread):
        count=0
        def run(self):这里需要注意的是这个函数名必须是run
            A.count+=1
            time.sleep(1)
            print('nihao ')
    for  i in range(10):
        t = A()
        t.start()
    print(t.count)
    C:UsershcAppDataLocalProgramsPythonPython36python3.exe C:/s9/38day/39.py
    10
    nihao 
    nihao 
    nihao 
    nihao 
    nihao 
    nihao 
    nihao 
    nihao 
    nihao 
    nihao 
    
    Process finished with exit code 0

    真实的线程数要加1 

    计算线程数

    import threading
    import time
    def run(i):
        time.sleep(2)
        print(i,threading.currentThread().name,threading.currentThread().ident)
    for  i in range(10):
        t = threading.Thread(target=run,args=(i,))
        t.start()
    print(threading.active_count())
    C:UsershcAppDataLocalProgramsPythonPython36python3.exe C:/s9/38day/39.py
    11
    1 Thread-2 7068
    0 Thread-1 9276
    2 Thread-3 12568
    8 Thread-9 8620
    7 Thread-8 12560
    6 Thread-7 4976
    3 Thread-4 11940
    9 Thread-10 5768
    4 Thread-5 12500
    5 Thread-6 9932
    
    Process finished with exit code 0
  • 相关阅读:
    在命令行下运行Matlab
    VMWare无法共享文件夹(Win7宿主机Ubuntu14.04客户机)
    [转] CVonline: Image Databases
    第二天
    第一天
    二宝软件的NABCD分析
    用c++实现环形数组的最大子数组之和
    返回一个二维整数数组中最大子数组的和
    求最大子数组之和
    四则运算
  • 原文地址:https://www.cnblogs.com/xuguangzong/p/8422805.html
Copyright © 2011-2022 走看看