199 字
1 分钟
Lab:Multithreading
2024-11-14
无标签

Lab:Multithreading#

这个 lab 难度不大,没有什么太多值得关注的。

  • Uthread: switching between threads (moderate)

工作是提出一个创建线程和保存/恢复寄存器以在线程之间切换的计划,并实现该计划。

  • Using threads (moderate)

工作是为哈希表实现互斥,保证键的插入是原子的

  • Barrier(moderate)

实现期望的屏障行为。除了在ph作业中看到的lock原语外,还需要以下新的pthread原语;详情请看这里这里

  • // 在cond上进入睡眠,释放锁mutex,在醒来时重新获取
  • pthread_cond_wait(&cond, &mutex);
  • // 唤醒睡在cond的所有线程
  • pthread_cond_broadcast(&cond);

Lab:Multithreading
https://scudays.github.io/posts/6s081/lab/labmultithreading/
作者
Days
发布于
2024-11-14
许可协议
CC BY-NC-SA 4.0