多线程
为自己勇敢
none
展开
-
【多线程】多线程教程之二---线程间同步
数据竞争:如果有两个或者是两个以上的任务同时更改共享的数据,而数据的最终值取决于那个任务先到达,就出现了竞争条件,当两个或多个任务试图同时更新相同的数据资源时,竞争条件被称为 数据竞争。 如果多个线程或进程师徒同时访问不能修改的资源(如只读内存或常量),则不用担心数据竞争,与此类似,若多个线程或进程只是试图读取一个数据块,也不会发生数据竞争! 竞争条件出现的前提是: (1)资转载 2017-05-12 11:27:41 · 392 阅读 · 0 评论 -
【多线程】多线程教程之三---线程的死锁
多个线程间如果相互等待对方拥有的资源,将可能发生死锁。 上一篇中我介绍了一种通过封闭Critical Section对象而方便的使用互斥锁的方式,文中所有的例子是两个线程对同一数据一读一写,因此需要让它们在这里互斥,不能同时访问。而在实际情况中可能会有更复杂的情况出现,就是多个线程访问同一数据,一部分是读,一部分是写。我们知道只有读-写或写-写同时进行时可能会出现问题,而读-读则可以同时转载 2017-05-12 20:19:38 · 337 阅读 · 0 评论