泡泡网 "Be fresh and eager every morning, and tired and satisfied every night." --Kent Beck

LAB04: Mutex

实验内容:

  1. 用临界区解决实验3中main_counter与sum不同步的问题。找到你的代码中的临界区,用“PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init()、pthread_mutex_lock()、pthread_mutex_unlock()、pthread_mutex_destroy()”等处理好临界资源的互斥。
  2. deadlock.c是一个完整的程序。读懂它,并判断此程序的运行结果将如何,然后编译运行它。当程序没有响应时,按ctrl+c中断程序,然后再重新运行,如此反复若干次,记录下每次的运行结果。
  3. deadlock.c如果产生了死锁,请修改之,使其不会死锁。

实验报告:

  1. 你预想deadlock.c的运行结果会如何?
  2. deadlock.c的实际运行结果如何?多次运行,每次的现象都一样吗?为什么会这样?
  3. 把修改后的两个程序的源代码附在实验报告后。

下载:

  1. 实验报告模板(doc

黑ICP备05004784号