并发

知识点总结

Posted by GG on February 25, 2018

并发

  1. 共享内==存并未提供同步==机制,当某一个进程对共享内存提供写操作时,并未自动的阻止另一个进程对它进行读取;++共享内存++:就是允许多个进程访问同一内存空间,进程间传递和共享数据非常有效。++信号量++:为了防止多个进程访问共享资源而造成冲突,设置临界区域每次只让一个进程访问,信号量提供了这样一种机制,用来控制对临界区域的访问。
  2. (1)==轮询调度==的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。只有在当前任务主动放弃CPU控制权的情况下(比如任务挂起),才允许其他任务(包括高优先级的任务)控制CPU。其优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。但不利于后面的请求及时得到响应。 (2)==抢占式调度==允许高优先级的任务打断当前执行的任务,抢占CPU的控制权。这有利于后面的高优先级的任务也能及时得到响应。但实现相对较复杂且可能出现低优先级的任务长期得不到调度。
  3. ==脏读==:就是指当一个事务对数据进行了修改但还没有提交到数据库时,另一个事务访问并使用了这个数据。==不可重复读==:在一个事务内两次读数据之间,第二个事务访问该数据并进行了修改。丢失修改:两个事务读入同一数据并修改,T2提交的结果破坏了T1提交的结果。例如T1读A修改为A-1,T2也读A修改为A-1(实际上应该是读A-1,修改 为A-2)。==幻影读==:同一事务在两个不同的时间段执行相同的查询条件得到的结果不一致。++注意区分++:++不可重复读++的重点是修改 : 同样的条件 , 你读取过的数据 , 再次读取出来发现值不一样了; ++幻读++的重点在于新增或者删除 同样的条件 , 第 1 次和第 2 次读出来的记录数不一样。
  4. 进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源。线程和进程都可并发执行。线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。线程的划分尺度小于进程,使得多线程程序的并发性高。在同一进程中的各个线程,才可以共享该进程所拥有的资源。
  5. 提供==及时响应==和==高可靠性==是实时操作系统主要特点。实时操作系统有++硬实时和软实时++之分,硬实时++要求在规定的时间内必须完成操作++,这是在操作系统设计时保证的;软实时则++只要按照任务的优先级,尽可能快地完成操作++即可。