- 博客(2)
- 收藏
- 关注
原创 关于java中的nio和io模型中的nio
单个线程轮询调用select/epoll,返回准备数据就绪的socket连接(即阶段1已经完成的),只通过一次调用就可以查询到成百上千的连接,至此才实现一个线程管理多个连接。select是遍历整个socket集合 找到有事件的socket,epoll是由系统维护一个有事件的双向链表 然后从链表中获取有事件的socket,epoll效率更高一些,尤其是socket数量极多时。线程在调用read和write的时候,如果内核处于准备数据阶段(阶段1),会不阻塞线程,直接返回。1.bio(旧io,传统io)
2024-03-03 02:51:59 504
原创 关于MySQL的mvcc是否解决幻读和可重复读
既然如此,似乎两次快照读之间既不会发生不可重复读,也不会发生幻读。而快照读和当前读之间则既有可能发生幻读,也有可能发生不可重复读。想要解决当前读和当前读之间的幻读和不可重复读,则需要加锁保证。但我阅读了很多站内文章,几乎都一致认为mvcc解决了不可重复读,而没有解决幻读。快照读:在第一次读取时生成的快照,后续的读取操作都从快照中读取,mvcc保证两次快照读读出的数据一致。那既然讨论的是快照读和当前读之间,应该不止会发生幻读,也会发生不可重复读才对?MySQL的mvcc中,事务中的读取分为快照读和当前读。
2024-02-22 16:24:14 443 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人