Wesley13 Wesley13
3年前
java并发编程实践 笔记 2017
\TOC\javaIO模型BIO:JDK1.4之前的IO,阻塞IONIO:linux多路复用技术(select模式)实现IO事件的轮询方式:同步非阻塞的模式,这种方式目前是主流的网络通信模式Mina,netty网络通信框架AIO:jdk1.7
Wesley13 Wesley13
3年前
Java 的锁
对象锁:new一个对象,都会给这个实例创建一把锁,对象中的方法必须在实例创建后,通过调用方法获取锁,一个线程进去这个方法之前拿到对象的锁,才能调用方法,否则被阻塞,举个例子,老王有个如花似玉的女儿,小张很爱慕,但是小张必须见到老王(AanewA();),通过老王的肯定才能和对方的女儿交往(a.lock());如果见不到老王,就别想
Wesley13 Wesley13
3年前
MySQL锁
<br1\.表锁表锁分为写锁,读锁,二者读读不阻塞,读写阻塞,写写阻塞<br<br2\.行锁行锁分为共享锁,排他锁,即读锁和写锁多粒度锁机制自动实现表、行锁共存,InnoDB内部有意向表锁意向共享锁(IS):事务在给一个数据行加共享锁前必须先取得该表的IS锁。
Stella981 Stella981
3年前
Python使用grequests并发发送请求
\TOC\前言requests是Python发送接口请求非常好用的一个三方库,由K神编写,简单,方便上手快。但是requests发送请求是串行的,即阻塞的。发送完一条请求才能发送另一条请求。为了提升测试效率,一般我们需要并行发送请求。这里可以使用多线程,或者协程,gevent或者aiohttp,然而使用起来,都相对麻烦。greques
Stella981 Stella981
3年前
AVIOInterruptCB结构体分析
1AVIOInterruptCB结构体定义在/usr/include/libavformat/avio.h中有如下的结构体定义,根据头文件中的注释:这是一个回调函数和参数的结构体。有些函数是在阻塞的,用这个回调函数来检查是否中断这个阻塞函数,如果回调函数返回1,那么这个正在阻塞的操作将被中止。那么就用这个结构体里的参数opaque来回调其中的callb
可莉 可莉
3年前
08. Java NIO FileChannel 文件通道
JavaNIO中的FileChannel是用于连接文件的通道。通过文件通道可以读、写文件的数据。JavaNIO的FileChannel是相对标准JavaIOAPI的可选接口。FileChannel不可以设置为非阻塞模式,他只能在阻塞模式下运行。打开文件通道(OpeningaFileChannel)
Stella981 Stella981
3年前
Linux的五种IO模型?
IO的同步、异步、阻塞、非阻塞同步、异步同步(synchronous):A调用B,B立刻处理A的请求(即使C紧接着调用B),并把最终结果返回给A。异步(asynchronous):A调用B,B立刻反馈A,仅是状态,并非最终结果。B处
Stella981 Stella981
3年前
PyQt5综合实践—TCP服务器
目的:实现一个可以用于接收和发送文本的TCP服务器。思路:1\.两个QLineEdit用于服务器ip和port的输入,同时会限制ip和port的输入。2\.一个QPushButton,点击后开始“监听”,并把连接的过程放到一个线程thread中,这样不会在等待连接的过程中造成程序阻塞。3\.一个QlineEdit用于显示连接后的客户端
Stella981 Stella981
3年前
Hystrix原理与实战(文章略长)
背景分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。!(https://stati
Python进阶者 Python进阶者
2年前
一篇文章带你搞定JavaScript 性能调优
大家好,我是皮皮。JavaScript是单线程运行的,所以在在执行效率上并不是很高,随着用户体验的日益重视,前端性能对用户体验的影响备受关注,但由于性能问题相对复杂,接下来我们来了解下JavaScript如何提高性能;从加载上优化:合理放置脚本位置由于JavaScript的阻塞特性,在每一个出现的时候,无论是内嵌还是外链的方式,它都会让页面等待脚本的加