摘要: 1.新建一个文件夹,位置随意,为防止不必要的麻烦,该文件夹的路径和名称都得是纯英文,例如: 2.在上述文件夹下面再新建两个文件夹,名字分别为"application"和"startup","startup"文件夹主要用来放置自定义的菜单文件,以及需要在UG启动时就执行的程序;"application 阅读全文
posted @ 2022-10-17 11:51 机械猿 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-09-07 19:51 机械猿 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 1.Python3中官方才正式提供线程池。 2.线程不是开的越多越好,开的多了可能会导致系统的性能更低。 注意:不要进行无限制的创建线程。 3.线程池的使用 示例1: 示例2:等待线程池的任务执行完毕。 示例3:任务执行完成后,通过.add_done_callback(done)在执行其他任务。 示 阅读全文
posted @ 2022-09-02 09:19 机械猿 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 1.在程序中如果想要手动加锁,一般有两种:Lock和RLock (1)Lock,同步锁(不支持同时锁两次) (2)RLock,递归锁 (3)Rlock支持多次申请锁和多次释放;Lock不支持。 2.锁的简便使用方法 with lock: #等于 lock.acquire()和lock.release 阅读全文
posted @ 2022-09-01 22:14 机械猿 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一个进程中有很多线程,且线程共享所有进程中的资源。 多进程统统是去操作一个“东西”,可能会存在数据混乱的情况,例如: 1.示例一: import threating loop = 10000 number = 0 def _add(cound): global number for i in ran 阅读全文
posted @ 2022-09-01 21:39 机械猿 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 线程的常用方法: - t.start(),当前线程准备就绪(等待CPU调度,具体时间由CPU进行决定) - t.join(),等待当前线程的任务执行完毕后再向下继续执行。 import threading number = 0 def _add(): global number for i in r 阅读全文
posted @ 2022-09-01 21:12 机械猿 阅读(25) 评论(0) 推荐(0) 编辑
摘要: GIL锁: 全局解释器锁(Global Interpreter),是CPython解释器特有的,让一个进程中同一时刻只能有一个线程可以被CPU调用。 2.常见的程序开发中,计算操作需要使用CPU多核优势,IO操作不需要利用多核优势 - 计算密集型,使用多进程,例如:大量数据计算(累加计算示例) - 阅读全文
posted @ 2022-09-01 08:51 机械猿 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 进程:是计算机资源分配的最小单元(进程为线程提供资源) 进程:是计算机中可以被cpu调度的最小单元(真正工作的最小单元) 注意:Linux系统使用底层fork;win:spawn; mac支持:fork 和 spawn (python3.8默认设置spawn) 因此在win下面必须要将程序放在 __ 阅读全文
posted @ 2022-08-31 09:04 机械猿 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 解决阻塞问题: import asyncio async def request(url): print("正在请求的url",url) print('请求成功') return url #async修饰的函数,调用之后返回一个协程对象 c = request("www.baidu.com") # 阅读全文
posted @ 2022-08-14 11:42 机械猿 阅读(14) 评论(0) 推荐(0) 编辑
摘要: import asyncio #协程模块引入 import time import aiohttp #实现异步操作的模块用于替代request模块(同步模块) start = time.time() urls =['http://XXX','http://xxx1']#异步请求列表 async de 阅读全文
posted @ 2022-08-14 11:05 机械猿 阅读(94) 评论(0) 推荐(0) 编辑