zoukankan      html  css  js  c++  java
  • python 进程线程简单理解

    简单的理解

    1、线程:最小的执行单元;进程:最小的资源单元

    2、一个程序至少有一个进程,一个进程至少有一个线程(线程可以理解为线程的容器)

    3、进程在执行过程中拥有独立的内存单元,而多个线程共享内存

    4、每一个独立的线程都有 程序的入口,顺序执行的序列和程序出口,但是线程不能独立执行,必须由应用程序提供多个线程执行控制

    5、进程是系统进行资源分配和调度的一个独立单元

    多线程的代码开启

    import threading
    import time
    
    def sing():
        print("begin to sing            %s" % time.ctime())
        time.sleep(3)
        print("stop to sing             %s" % time.ctime())
        
    def jump():
        print("begin to jump            %s" % time.ctime())
        time.sleep(5)
        print("stop to jump             %s" % time.ctime())
        
    def rap():
        print("begin to rap             %s" % time.ctime())
        time.sleep(7)
        print("stop to rap              %s" % time.ctime())
    
    def play_basketball():
        print("begin to play_basketball  %s" % time.ctime())
        time.sleep(9)
        print("stop to play_basketball   %s" % time.ctime())
        
        
    if __name__ == '__main__':
        #开启sing的线程
        t1 = threading.Thread(target = sing)
        t1.start()
        #开启jump的线程
        t2 = threading.Thread(target = jump)
        t2.start() 
        #开启rap的线程
        t3 = threading.Thread(target = rap)
        t3.start()
        #开启篮球的线程
        t4 = threading.Thread(target = play_basketball)
        t4.start() 
    

    这样,线程开启就可以像cxk一样可以同时进行唱、跳、rap、篮球了。

    这一个程序相当于一个进程,而唱跳rap篮球就像四个线程一样,同时执行,他们的间隔时间只是间隔两秒,并不是3 5 7 9 秒

  • 相关阅读:
    08.3 属性描述符__get__ __set__ __delete__
    08.2 __getattr__ 和 __getattribute__
    08.1 property 装饰器
    appium脚本编写,元素定位,隐式等待
    appium的安装和介绍
    docker镜像构建
    dockerfile的语法和指令
    docker的registry介绍
    docker-compose使用
    docker部署Jenkins
  • 原文地址:https://www.cnblogs.com/hyxk/p/11279104.html
Copyright © 2011-2022 走看看