199 字
1 分钟
Lab:Multithreading
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/