会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
编程的朝圣之路
从入门到入魔
博客园
首页
新随笔
联系
订阅
管理
2025年1月13日
Python扫描枪读取发票数据导入Excel
摘要: 财务需要一个扫描枪扫描发票文件,并将主要信息录入Excel 的功能。 文件中sheet表的列名称,依次为:发票编号、发票编码、日期、金额、工号、扫描日期。 扫描的时候,Excel 文件需要关闭,否则会报错。 import openpyxl import datetime def write_line
阅读全文
posted @ 2025-01-13 13:38 小名叫小明
阅读(230)
评论(0)
推荐(0)
2020年10月19日
协程,Python 中实现多任务耗资源最小的方式
摘要: 协程,又称微线程,纤程。英文名 Coroutine。 协程是 Python 中另外一种实现多任务的方式,只不过比线程更小,占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带 CPU 上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢
阅读全文
posted @ 2020-10-19 08:06 小名叫小明
阅读(305)
评论(0)
推荐(0)
2020年10月15日
子进程太多,还是要用到进程池 Pool
摘要: 和选用线程池来关系多线程类似,当程序中设置到多进程编程时,Python 提供了更好的管理多个进程的方式,就是使用进程池。 在利用 Python 进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。 当被操作对象数目不大时,可以直接利用 multiproc
阅读全文
posted @ 2020-10-15 08:19 小名叫小明
阅读(185)
评论(0)
推荐(0)
2020年10月14日
Python 中通过队列来实现进程间通信
摘要: Python程序中,在进程和进程之间是不共享全局变量的数据的。 我们来看一个例子: from multiprocessing import Process import os import time nums = [11, 22] def work1(): """子进程要执行的代码""" print
阅读全文
posted @ 2020-10-14 08:17 小名叫小明
阅读(471)
评论(0)
推荐(0)
2020年10月12日
Python 中进程和线程的用法基本一样
摘要: 一、进程的创建 我们先来回忆下之前多线程的实现。 import threading import time def test1(): while True: print("1 ") time.sleep(1) def test2(): while True: print("2 ") time.sle
阅读全文
posted @ 2020-10-12 08:17 小名叫小明
阅读(292)
评论(0)
推荐(0)
2020年10月5日
进程的概念,系统资源分配的单元
摘要: 程序:所谓的程序,是硬盘上的一个可执行文件,是静态的。 进程:一个程序运行起来后,代码加上用到的资源称之为进程,它是操作系统分配资源的基本单元。 一个程序,对应进程可以有多个。 多任务不仅可以通过线程来实现,进程也是可以的。 进程的状态 实际工作中,任务数往往大于 cpu 的核数,即一定有一些任务正
阅读全文
posted @ 2020-10-05 08:15 小名叫小明
阅读(1263)
评论(0)
推荐(0)
2020年9月30日
Python 为什么要用线程池?
摘要: 一、为什么要使用线程池 多线程的情况下确实可以最大限度发挥多核处理器的计算能力,提高系统的吞吐量和性能。 但是如果随意使用多线程,对系统的性能反而有不利影响。 比如下面的情况: 创建线程是需要时间的,假设线程创建所需时间为T1,线程执行任务时间为T2,线程销毁时间为T3,而往往T1+T3>T2。所以
阅读全文
posted @ 2020-09-30 08:05 小名叫小明
阅读(611)
评论(0)
推荐(0)
2020年9月29日
Python 多线程中死锁了怎么办?
摘要: 一、死锁 在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。 就好像在现实社会中,男女双方在闹别扭之后,都在等待对方先道歉。 如果双方都这样固执地等待对方先开口,弄不好,就 over 了。 尽管死锁很少发生,但一旦发生就会造成应用的停止响应。 下面看一个
阅读全文
posted @ 2020-09-29 07:58 小名叫小明
阅读(475)
评论(0)
推荐(0)
2020年9月28日
互斥锁解决 Python 中多线程共享全局变量的问题
摘要: 一、同步概念 同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。 "同"字从字面上容易理解为一起动作。 其实不是,在这里,"同"字应是指协同、协助、互相配合。 线程同步,可理解为线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B执行,再将结果给A;A再
阅读全文
posted @ 2020-09-28 08:12 小名叫小明
阅读(1665)
评论(0)
推荐(0)
2020年9月25日
Python 中多线程共享全局变量的问题
摘要: 在之前,我们讲过了,Python 中多个线程之间是可以共享全局变量的数据的。 但是,多线程共享全局变量是会出问题的。 假设两个线程 t1 和 t2 都要对全局变量 g_num (默认是0)进行加1运算,t1 和 t2 都各对 g_num 加10次,g_num 的最终的结果应该为20。 但是由于多线程
阅读全文
posted @ 2020-09-25 08:12 小名叫小明
阅读(2500)
评论(0)
推荐(0)
下一页
公告