django多线程_Python多线程之进程&线程&线程使用实例

346f17f754d47a80dc5cb0c50ce78b04.png

一、多线程

1.我们的环境

(1)xubuntu 16.04(2)anaconda(3)pycharm(4)python 3.6

2.程序:一堆代码以文本的形式存入一个文档

3.进程:程序运行的一个状态。

特点:(1)其中包含地址控件、内存、数据栈等;(2)每个进程由自己完全独立的运行环境,多进程共享数据是一个问题。

4.线程:一个进程的独立运行片段

特点:(1)一个进程可以有多个线程;(2)轻量化的进程;(3)一个进程的多个线程间共享数据和上下文运行环境;(4)共享互斥问题

5.全局解释器锁(GIL)

(1)Python代码的执行是由python虚拟机进行控制

(2)在主循环中只能有一个控制线程在执行

6.python包

(1)thread:有问题,不好用,python3改为_thread

(2)threading:通行的包

7.例子:

import threading,time

import _thread as thread

#利用time生成两个函数

def loop1():

    print("Start loop 1 at:",time.ctime())

    time.sleep(4)

    print("End loop 1 at :",time.ctime())

def loop2():

    print("Start loop 2 at :",time.ctime())

    time.sleep(2)

    print("End loop 2 at :",time.ctime())

def main():

    print("Start at :",time.ctime())

    thread.start_new_thread(loop1,())#这里里面的第二个位置是用来传递参数的,因为咱们的函数刚好没有参数,因此咱们传递了一个空参数

    thread.start_new_thread(loop2,())

    print("End at :",time.ctime())

if __name__ == "__main__":

    main()

b1c558a3dc3d8ede9fc64698fb6a4b9e.png


对Python感兴趣或者是正在学习的小伙伴,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,教你如何实现边学习边用Python赚钱的学习方式。点击加入我们的 python学习者聚集地

解释:如上图的运行结果:按照顺序输出开始时间,然后应该是线程1,线程2,最后是结束时间,从运行结果来看,现在只有开始时间以及结束时间,中间那两个线程都没了,这是因为,我们让这两个线程开始执行的时候我们的主线程已经之行结束了,导致中间两个线程都没有执行完,主线程终止了,所有中间的两个线程也结束了。优秀!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值