多线程+线程中常见属性--day34

"""
----多线程----

多线程也是用于提高程序的效率

多进程
核心是多道技术
本质上就是切换加保存状态
当程序IO操作较多 可以提高程序效率

多线程
什么是线程
程序的执行线路
相当于与一条流水线,其包含了程序的具体执行步骤
如果我们把操作系统比喻为一个工厂,进程就是车间,先出就是流水线

线程和进程的关系
进程中包含了运行改程序需要所有资源,
*进程是一个资源单位,线程是CPU的最小执行单位*
每一个进程一旦被创建.就默认开启了一条线程,称之为主线程
一个进程可以包含多个线程
进程包含线程 而 线程依赖进程

为什么使用线程
是为了提高程序效率,
为何不用多进程提高效率? 是因为进程对操作系统的资源耗费非常高

线程是如何提高效率的?
多线程可以使CPU在一个进程内进行切换,从而提高CPU占用率

如何使用
两种开启线程的方式
1.实例化Thread类
2.继承Thread类 覆盖run方法

什么情况下应该开启多线程
当程序中遇到IO的时候
当程序中时纯计算任务时 也无法提高效率

进程和线程的区别
1.进程对于操作系统的资源耗费非常高,而线程相反非常低(比进程低10-100倍)
2.在同一个进程,多个线程之间资源是共享的
"""
# 开启线程的第一种方式
from threading import Thread

def task():
    print("threading running!")

t1 = Thread(target=task)
t1.start()
print("over")


# 第二种方式
class MyThread(Thread):
    def run(self):
        print("子线程 running....")

MyThread().start()
print("over2")

 

线程中常见属性

from threading import Thread,current_thread,enumerate,active_count

import os

def task():
    print("running..")
    print(active_count())

t1 = Thread(target=task)
t1.start()

# 获取所有线程对象列表
print(enumerate())
# 获取当前线程对象
print(current_thread())
# 获取当前正在运行的线程个数
print(active_count())

 

  

posted @ 2019-01-02 15:51  WenChen-0o0  阅读(280)  评论(0编辑  收藏  举报