diff --git a/Database.md b/Database.md index ec158ef..a562627 100644 --- a/Database.md +++ b/Database.md @@ -40,7 +40,7 @@ - **丢失修改**:一个事务对数据进行了修改,在事务提交之前,另一个事务对同一个数据进行了修改,覆盖了之前的修改; - **脏读**(Dirty Read):一个事务读取了被另一个事务修改、但未提交(进行了回滚)的数据,造成两个事务得到的数据不一致; - **不可重复读**(Nonrepeatable Read):在同一个事务中,某查询操作在一个时间读取某一行数据和之后一个时间读取该行数据,发现数据已经发生修改(可能被更新或删除了); -- **幻读**(Phantom Read):当同一查询多次执行时,由于其它事务在这个数据范围内执行了插入操作,会导致每次返回不同的结果集(和不可重复读的区别:针对的是一个数据整体/范围) +- **幻读**(Phantom Read):当同一查询多次执行时,由于其它事务在这个数据范围内执行了**插入操作**,会导致每次返回不同的结果集(和不可重复读的区别:针对的是一个数据整体/范围;并且需要是插入操作) ### 数据库的四种隔离级别? diff --git a/Operating Systems.md b/Operating Systems.md index 91e4c0d..6632a88 100644 --- a/Operating Systems.md +++ b/Operating Systems.md @@ -305,6 +305,8 @@ IO多路复用(IO Multiplexing)是指单个进程/线程就可以同时处 什么是文件描述符? 文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。 + +内核通过文件描述符来访问文件。文件描述符指向一个文件。 ##### 什么是水平触发?什么是边缘触发?