并发编程-线程-11线程基础

时间:2019-09-21
本文章向大家介绍并发编程-线程-11线程基础,主要包括并发编程-线程-11线程基础使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一丶什么是线程

进程线程其实都是虚拟单位,都是用来帮助我们形象的描述某种事物

二丶线程和进程

进程:资源单位
线程:执行单位
将内存比如成工厂
那么进程就相当于是工厂里面的车间
而你的线程就相当于是车间里面的流水线
ps:每个进程都自带一个线程,线程才是真正的执行单位,进程只是在线程运行过程中
进程提供代码运行所需要的资源

三丶为什么要有线程

为什么要有线程
开进程
1.申请内存空间 耗资源
2."拷贝代码" 耗资源

​ 开线程
​ 一个进程内可以起多个线程,并且线程与线程之间数据是共享的
​ ps:开启线程的开销要远远小于开启进程的开销

四丶创建线程的两种方式

4.1直接创建

开线程不需要在__main__代码块内 但是习惯性的还是写在__main__代码块内

from threading import Thread
import time

def task(name):
    print('%s is running'%name)
    time.sleep(3)
    print('%s is over'%name)
# 开线程不需要在__main__代码块内 但是习惯性的还是写在__main__代码块内
t = Thread(target=task,args=('egon',))
t.start()  # 告诉操作系统开辟一个线程  线程的开销远远小于进程
# 小的代码执行完 线程就已经开启了
print('主')

4.2类的继承实例化创建

from threading import Thread
import time

class MyThread(Thread):
    def __init__(self,name):
        super().__init__()
        self.name = name

    def run(self):
        print('%s is running'%self.name)
        time.sleep(3)
        print('%s is over'%self.name)

t = MyThread('egon')
t.start()
print('主')

原文地址:https://www.cnblogs.com/suren-apan/p/11561949.html