• 3-22 thread


    关于进程和线程的一些问题:
    进程在电脑上是很好理解的,单纯的打开电脑的任务管理器就可以看到进程,而其中相关的线程问题确实有一定的区别:
    #概念理解,其中有几个比较重要的概念在这里记一下。
    #1.对于操作系统而言,一个任务就是一个进程,开启多个任务就是多个进程。
    #多线程运行的有点:
    1 使用线程可以把占据多长时间的程序中的任务放到后台去处理
    2 用户界面可以更加的吸引人,比如用户单击一个按钮,用于触发某些事件的处理,可以弹出一个进度条显示处理的进度。
    3 程序运行速度会加快,但这个不是必然的。
    #一个进程至少要包含一个线程
    #单线程如何执行多任务?
    1 启动多个进程,每个进程虽然只有一个线程,但多个进程就可以只执行多个任务。
    2 启动一个进程,在一个进程里添加多个线程来处理任务,多个线程来执行多个任务。
    3 启动多个进程,每个进程里再启动多个线程,按道理来说这样应该是执行任务最多的一种方法,但是这种模型过于复杂,实际上很少采用。

    多线程是多个相互关联的线程的组合,多线程是多个相互独立的进程的组合,线程是最小的执行单元,进==进程至少由一个线程组成。

    #import threading
    the first function : threading.active_()
    ex;import threading

    print(threading.active_())#在这里显示目前系统中有多少正在运行的线程。
    #the second part
    #something about GIL
    这一部分的差不多可以略过,因为在当前的情况下用不到相关的全局解释锁。
    #python虚拟机的访问有全局解释器控制,这种锁能保证同一时刻只有一个线程运行。
    #退出线程的问题
    1 calling function ,调用函数 thread.exit()

    2 传入一个函数错误sys.exit()或是抛出一个systemexit

    #python 中提供的多线程模块又_thread,threading,和Queun等。

    #后续的一些个人理解会添加上来,这些只是对于thread的初识。

  • 相关阅读:
    java面试第八天
    java面试第七天
    java面试第六天
    java面试第五天
    java面试第四天
    SpringMVC导出Excel
    75. Autorelease机制及释放时机
    关于 SQLNET.AUTHENTICATION_SERVICES 验证方式的说明
    硬件十万个为什么——运放篇(五)PCB设计技巧
    eclipse到Android Studio的项目迁移
  • 原文地址:https://www.cnblogs.com/coder-2017/p/8624577.html
Copyright © 2020-2023  润新知