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 秒

  • 相关阅读:
    no copy constructor available or copy constructor is declared 'explicit'
    Jetty:配置连接器
    DataTable数据转换为实体
    iOS 单元測试之XCTest具体解释(一)
    UDP C/S编程
    xml的加密和解密
    lua 加密
    shell脚本加密
    实现业务系统中的用户权限管理--设计篇
    通用用户权限系统设计(数据库设计)
  • 原文地址:https://www.cnblogs.com/hyxk/p/11279104.html
Copyright © 2011-2022 走看看