Stella981 Stella981
3年前
Python的锁
互斥锁锁通常被用来实现对共享资源的同步访问。为每一个共享资源创建一个Lock对象,lLock()创建一个锁,初始状态是未锁定当你需要访问该资源时,调用l.acquire方法来获取锁对象(如果其它线程已经获得了该锁,则当前线程需等待其被释放),待资源访问完后,再调用l.release方法释放锁!(https:
Stella981 Stella981
3年前
Android中的Handler, Looper, MessageQueue和Thread
前几天,和同事探讨了一下Android中的消息机制,探究了消息的发送和接收过程以及与线程之间的关系。虽然我们经常使用这些基础的东西,但对于其内部原理的了解,能使我们更加容易、合理地架构系统,并避免一些低级错误。对于这部分的内容,将分成4小节来描述:1.职责与关系2.消息循环3.线程与更新4.几点小结\
Wesley13 Wesley13
3年前
Java NIO
简介引入NIO的原因1.因为BIO都是阻塞的IO,为了使Java能支持非阻塞I/O,JDK引入了NIO,可以将NIO理解成是NonblockI/O.(也有书说是newIO)2.BIO编程中,每当有一个新的客户端请求过来时,服务器端必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接,在并发量
Stella981 Stella981
3年前
Qt读写数据流文件(转 CppGuiProgrammingWithQt4)
读取文件:update20140525:添加线程处理,在读取大文件时优化,防止app出现application假死状态。bool SpreadSheet::readFile(const QString &filePath){    QFile file(filePath);    if ( !file.op
Stella981 Stella981
3年前
CopyOnWriteArrayList 介绍
CopyOnWriteArrayList是ArrayList的一个线程安全的变体,其中所有可变操作(add、set等等)都是通过对底层数组进行一次新的复制来实现的。这一般需要很大的开销,但是当遍历操作的数量大大超过可变操作的数量时,这种方法可能比其他替代方法更有效。在不能或不想进行同步遍历,但又需要从并发线程中排除冲突时,它也很有用。“快照”风格的
Python进阶者 Python进阶者
1年前
anaconda创建环境老报错,是咋回事?
大家好,我是皮皮。一、前言前几天在Python最强王者交流群【刘流】问了一个Python创建虚拟环境的问题,一起来看看吧。问题描述:大佬们打搅下,anacondapowershellprompt创建环境老报错,是咋回事?报错截图如下:二、实现过程【隔壁😼
Python进阶者 Python进阶者
1年前
盘点一个dbeaver导入csv文件到sql server报错的一个问题
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【金光灿灿】问了一个dbeaver导入csv文件到sqlserver报错的一个问题,问题如下:我在使用dbeaver导入csv文件到sqlserver时一直出现Can'tparsen