Python-100-Days之线程与进程 Day13

本文介绍了Python中的线程与进程,包括threading模块的使用,如enumerate()函数,线程的启动,以及如何继承threading.Thread创建线程。讨论了多线程共享全局变量的问题,提出了互斥锁作为解决方案,并提到了死锁及其避免方法。最后,对比了多线程与协程的执行效率,指出协程在执行效率和资源管理上的优势。

Day13 线程与进程

1.threading模块
–单线程执行

enumerate() 函数:
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。可以用enumerate()来查看线程的进行程度。

–当出现调用thread时,不会创建线程,线程会跑到test1里去执行

def main():
    t1=threading.Thread(target=test1)
    print(threading.enumerate())

[<_MainThread(MainThread, started 4445822400)>]

–当调用start后,才算创建了线程以及运行线程

t1=threading.Thread(target=test1)
    print(threading.enumerate())
    t1.start()
    print(threading.enumerate())

[<_MainThread(MainThread, started 4445822400)>, <Thread(Thread-1, started 123145407184896)>]

2.继承thread类创建线程
定义一个子类,通过继承threading.Thread,可以完成线程的封装。

import threading
import time
class MyThread(threading.Thread):
    def run(self):
        for i in range(3):
            time.sleep(1)
            msg="I'm "+self.name+' @'+str(i)
            print(msg)

    def login(self):
        print("这是登录。。。。。。")

   
下载前可以先看下教程 https://pan.quark.cn/s/a4b39357ea24 SSM框架,涵盖了Spring MVC、Spring以及MyBatis这三个框架,在Java领域内作为构建Web应用程序的常用架构而备受青睐,特别是在电子商务购物平台的设计实现过程中展现出极高的应用价值。 这三个框架各自承担着特定的功能角色,通过协同运作来达成高效且灵活的业务处理目标。 Spring MVC作为Spring体系结构中的一个关键部分,主要致力于处理HTTP请求响应,并推行模型-视图-控制器(MVC)的设计模式。 其运作机制中,DispatcherServlet扮演着前端控制器的角色,负责接收HTTP请求,并将其依据请求映射至相应的Controller处理方法。 在Controller执行完业务逻辑后,会将处理结果传递给ModelAndView对象,随后由ViewResolver将其解析为具体视图进行呈现。 Spring MVC还具备数据绑定、验证以及国际化等附加功能,这些特性显著提升了开发工作的效率以及代码的可维护程度。 Spring框架则是一个综合性的企业级应用开发框架,其核心能力包含依赖注入(DI)、面向切面编程(AOP)以及事务管理等关键特性。 DI机制使得开发者能够借助配置文件或注解手段来管理对象的生成依赖关联,从而有效降低组件之间的耦合性。 AOP技术则适用于实现诸如日志记录、权限管理这类跨领域的功能需求,有助于使代码结构更为清晰。 Spring在事务管理方面提供了编程式和声明式两种处理途径,确保了数据操作过程遵循原子性一致性原则。 MyBatis则是一个轻量级的数据库访问层框架,其特点在于将SQL语句Java代码进行分离,并支持动态SQL的编写。 开发者可以在XM...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值