上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 29 下一页
摘要: lock与rlock 使用lock不能连续两次获取锁,获取锁必须先释放锁。但是在一个线程中调用另一个函数时,在该函数中要继续操作共享的数据,这时获取锁就相当于连续执行两次获取锁,所以lock就不适用该场景,就要使用rlock了。 condition(条件变量,用于复杂的线程间同步) 场景: 期待天猫 阅读全文
posted @ 2018-12-28 01:11 raindi 阅读(331) 评论(0) 推荐(0)
摘要: 共享变量通信 事实上共享变量通信是会造成线程安全的,除非我们对这个共享变量是有足够了解的,如非必要就不要使用共享变量在线程间进行通信 Queue通信 理解不深入,暂不写 阅读全文
posted @ 2018-12-27 23:42 raindi 阅读(323) 评论(0) 推荐(0)
摘要: 代码如下: 结果: 阅读全文
posted @ 2018-12-27 22:35 raindi 阅读(395) 评论(0) 推荐(0)
摘要: 单用户连接: 多用户连接(利用多线程) 阅读全文
posted @ 2018-12-26 22:42 raindi 阅读(180) 评论(0) 推荐(0)
摘要: 这本书让lz对js性能优化有了更深刻的理解,现在因为我们通常用第三方构建工具webpack、gulp等诸如此类,之前总是听说什么dom操作影响性能呢,对这个概念总是有点模糊,但看完这本书之后后,相对而言比较清晰了。 书中有句话说的比较形象,js与dom之间有座桥梁,当我们去访问dom时,无疑是要交过 阅读全文
posted @ 2018-12-21 22:21 raindi 阅读(322) 评论(0) 推荐(0)
摘要: "https://blog.csdn.net/u014044812/article/details/78727496" 阅读全文
posted @ 2018-12-21 17:00 raindi 阅读(114) 评论(0) 推荐(0)
摘要: __new__ __new__是用来控制对象的生成过程,在对象生成之前 __init__是用来完善对象的 如果new方法不返回对象(return super().__new__(cls)),则不会调用init函数 阅读全文
posted @ 2018-12-19 22:54 raindi 阅读(254) 评论(0) 推荐(0)
摘要: 描述符 上述的User可以看做数据库中的表,假设我们要控制user中age的赋值类型,固然可以使用以下形式进行拦截: 但是这种一两次还行,多了就是在写重复代码,所以就可用上述类IntgerField中定义__get__,__set__等实现属性描述符的方式进行拦截。 __getattribute__ 阅读全文
posted @ 2018-12-19 21:17 raindi 阅读(211) 评论(0) 推荐(0)
摘要: __getattr__ 在访问对象的属性不存在时,调用__getattr__,如果没有定义该魔法函数会报错 __getattribute__ 访问对象任何属性(即使属性不存在)都会调用__getattribute__ 结果: 阅读全文
posted @ 2018-12-18 21:24 raindi 阅读(226) 评论(0) 推荐(0)
摘要: js垃圾回收机制:标记清除 Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理 当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。 工作流程 1. 垃圾回收器 阅读全文
posted @ 2018-12-18 20:44 raindi 阅读(396) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 29 下一页