Python——开发注意事项
1. 如果是C/S架构,用户必须登录才可以进行后续操作的话,那么需要在server端进行限制,用户连接后就需要进行登录,如果不登录就不能后续操作。
2. 解耦,把卸载一起的大的功能分开成多个小功能处理,这样可读性,修改和复用更加便捷。
3. 加锁的重要性,进程共享,线程共享,单例模式,会因为CPU处理速度和切换导致数据不一致问题,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from threading import Thread,Lock a = 1 def func1(lock): for i in range ( 100000 ): global a a - = 1 def func2(lock): for i in range ( 100000 ): global a a + = 1 lock = Lock() t1 = Thread(target = func1) t2 = Thread(target = func2) t1.start() t2.start() t1.join() t2.join() print (a) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from threading import Thread,Lock a = 1 def func1(lock): with lock: for i in range ( 100000 ): global a a - = 1 def func2(lock): with lock: for i in range ( 100000 ): global a a + = 1 lock = Lock() t1 = Thread(target = func1,args = (lock,)) t2 = Thread(target = func2,args = (lock,)) t1.start() t2.start() t1.join() t2.join() print (a) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-03-14 Zabbix——部署(DB与web一体)
2019-03-14 linux——网络配置
2019-03-14 CentOS7——vi编辑保存
2019-03-14 VMware ESXi-6.7——ISO安装
2019-03-14 VMware ESXi-6.7——安装