1.支付宝模拟线上优化实战 2.手写JUC工具与提升tomcat吞吐量 3.网络通信BIO设计与缺陷 -- accept() 和 read()阻塞 4.单线程解决高并发NIO精髓解读 5.OS内核下Epoll与Selete源码解读 第一部分: 性能优化 问题:如何在高并发场景下实现支付宝用户登录页面 ...
分类:
系统相关 时间:
2020-04-11 10:02:44
阅读次数:
82
# MyIsam 和 innodb 均可以加表锁 ## 加读锁 LOCK TABLES `table_name` READ; * 阻塞其他进程(会话)的写操作,不阻塞其他进程的读操作 ## 加写锁 LOCK TABLES `table_name` WRITE; * 阻塞其他进程(会话)的写操作和读操 ...
分类:
数据库 时间:
2020-03-06 23:33:57
阅读次数:
122
一、简要分析 一个socket对应一个数据流,通过I/O操作中的read从流中读入数据,write向流中写入数据。当read时,socket流中没有数据的话,read阻塞,线程睡眠,CPU开始做其他的任务,流中有数据可读时,read返回。 在阻塞IO模式下,一个线程只能处理一个IO事件。如果处理多个 ...
分类:
其他好文 时间:
2017-10-29 17:33:50
阅读次数:
239
工作队列(work queue)是另外一种将工作推后执行的形式,它和tasklet有所不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。 那么,什么 ...
分类:
系统相关 时间:
2017-07-29 20:49:26
阅读次数:
215
控制台没有显示任何字符,原因:使用detach开启子线程没有阻塞主线程,主线程已经执行完毕。 结论:detach后,不能再使用join 结论:可以使用joinable()判断是否可以join() ...
分类:
编程语言 时间:
2016-11-26 22:59:43
阅读次数:
162
一、epoll原理一个socket对应一个数据流,通过I/O操作中的read从流中读入数据,write向流中写入数据。当read时,socket流中没有数据的话,read阻塞,线程睡眠,CPU开始做其他的任务,流中有数据可读时,read返回。在阻塞IO模式下,一个线程只能处理一个IO事件。如果处理多...
分类:
其他好文 时间:
2015-10-04 20:59:54
阅读次数:
224
这是我的接收文件代码:开始可以读取到-1,但是现在又读取不到了,所以才加上红色字解决的(注释的代码) File file = new File(mfilePath,"chetou."+entity.mediaType); i...
分类:
移动开发 时间:
2015-05-20 12:57:30
阅读次数:
276
Socket的可写状态和可读状态。当输出缓冲区未满时,Socket是可写的(注意,不是对方启用接收操作后,本地才能可写,这是错误的理解),因此,当套接字被建立时,即处于可写的状态。对于可读,则是指缓冲区中有接收到的数据,并且这些数据未完成处理。在socket创建时,并不处于可读状态,仅当连接的另一方向本套接字的通道写入数据后,本套接字方能处于可读状态(注意,如果对方套接字已经关闭,那么本地套接字将处...
分类:
编程语言 时间:
2015-05-11 10:48:33
阅读次数:
139
socket模型:
1、阻塞模型
一个单进程accept阻塞,接收到客户端请求后,read消息,处理write返回,然后循环继续accept。
这种模型最最简单,不实际,没什么实际用途,对于新手教学还行。
2、多进程(线程)模型
主进程循环accept阻塞,接收到客户端请求后,fork子进程处理,子进程read阻塞,接收客户端消息并响应。
这种模型是我使用到...
分类:
其他好文 时间:
2014-05-24 19:50:08
阅读次数:
274