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 秒

  • 相关阅读:
    ESRI Shapefiles (SHP)
    Python与开源GIS:在OGR中使用SQL语句进行查询
    [推荐]网店代销的卖家,你的宝贝名称修改了吗?
    怎么把经纬度转换成标准的度分秒单位
    如何提高淘宝流量
    十八种方法提升淘宝店流量
    mysql备份数据库几种方法
    Linux查看文件编码格式及文件编码转换
    MySQL 修改字段类型或长度
    mysql外键使用和级联
  • 原文地址:https://www.cnblogs.com/hyxk/p/11279104.html
Copyright © 2011-2022 走看看