zoukankan      html  css  js  c++  java
  • 多任务创建-线程(IO密集型适用)

    单核CPU:时间片轮转

    并行:CPU的个数大于等于任务数 真的多任务执行

    并发:CPU的个数小于任务数 假的多任务

    知识点:

      多线程共享全局变量

    创建线程的两种方法:

    1.创建子线程方法 调用函数 Thread(target=函数名)

     1 # 导入threading包
     2 import threading
     3 import time
     4 
     5 
     6 def sing():
     7     for i in range(5):
     8         print("------唱------%d----" % i)
     9         time.sleep(1)
    10 
    11         # 如果创建的Thread时指定的函数,运行结束,那么意味着 这个子线程结束了
    12 
    13 def dance():
    14     for i in range(5):
    15         print("------跳------%d----" % i)
    16         time.sleep(1)
    17 
    18 
    19 def main():
    20     # threading.Thread(target=函数名)  注意 函数名后面不能带() 有()是调用
    21     # 创建线程对象
    22     t1 = threading.Thread(target=sing)
    23     t2 = threading.Thread(target=dance)
    24 
    25     # 开启子线程 让线程开始执行 创建线程
    26     t1.start()
    27     t2.start()
    28 
    29     # 查看当前运行的线程 threading.enumerate() 返回值是个列表
    30     print(threading.enumerate())
    31 
    32     # 查看当前线程数 len()
    33     print(len(threading.enumerate()))

    2,创建子线程类 

     1 import threading
     2 import time
     3 
     4 
     5 # 创建子线程类
     6 class MyThread(threading.Thread):
     7     # 必须定义run()方法
     8     def run(self):
     9         pass
    10 11 12 if __name__ == '__main__': 13 # 创建对象 14 t = MyThread() 15 # 启动线程 start()里边会调用run()方法 16 t.start()
  • 相关阅读:
    HDU 1711
    HDU 4135
    HDU 4462
    HDU 1969
    flask的nocache防止js不刷新
    python2.x里unicode错误问题
    使用SwingWork反而阻塞SwingUI
    利用JProfile 7分析内存OOM
    编译android的一些坑
    java jmenu的替代方案
  • 原文地址:https://www.cnblogs.com/yifengs/p/11381036.html
Copyright © 2011-2022 走看看