zoukankan      html  css  js  c++  java
  • Python 多任务(线程) day1

    多任务就是可以让一台电脑同时执行多个命令。

    以前的单核cpu是怎么做到同时执行多个命令的?(时间片轮转)

    ——其实以前的单核CPU是让操作系统交替执行命令,每个任务执行0.01秒,这样看起来就像是在同时执行多个命令。就跟手翻动画一样。

    并行:真的多任务

    并发:假的多任务

    线程

    1. 一个程序运行,一定有一个执行代码的东西,这个东西称作 《线程》
      就像光标一行一行的往下移动,执行每一行代码
      多个线程,就会出现多个光标,分为主线程和子线程
    2. 当主线程执行完所有代码,就要等子线程,当子线程执行完,主线程才能结束。(帮子线程处理垃圾)
      只有主线程结束,程序才结束。不是程序结束,主线程才结束。
    3. t1 = threading.Thread(target = sing)    应该把函数名sing给target,不能用sing(),sing()表示调用函数
      t1.start()  表示创建子线程,
      threading.enumerate()    用来获取当前所有的线程,与以前的用法不同
      线程的运行是没有先后顺序的,如果子线程没有延时,很快就执行完,那么当你调用时,获得的列表只有主线程
    4. 在创建对象时 线程没有创建
      当调用 xx.start() 时线程才创建并开始执行

    当调用的方法比较复杂时,可以把他封装成类,start会自动调用run方法,然后在run里面调用类里面的其他方法

    xx.start()只创建了一个线程,执行 run()  如果里面有其他方法,在run()调用

  • 相关阅读:
    SSH 远程执行任务
    C# 创建压缩文件
    迁移 SQL Server 到 Azure SQL 实战
    在 Azure 上部署 Asp.NET Core Web App
    linux kill 命令
    VS 远程调试 Azure Web App
    Azure 基础:自定义 Table storage 查询条件
    NSOperation的使用细节 [2]
    NSOperation的使用细节 [1]
    [翻译] SSKeychain
  • 原文地址:https://www.cnblogs.com/otome/p/12367490.html
Copyright © 2011-2022 走看看