补全:数每个函数的配对

👁️ 3 人浏览 💬 0 人评论 ❤️ 添加收藏

本节的东西:

TABLE   三语言对照:(声明, 拿, 放, 自动放)
count_pairs(src)   C 源码里 pthread_mutex_lock / unlock 各几次
find_leak(src)   按行扫 C:拿了锁之后、放锁之前遇到 return 的行号
guard_span(src)   C++:lock_guard 声明的那一行到它所在花括号块结束的那一行

贯穿 n07 的 C 片段(C_SRC):

int take(int k) {
  pthread_mutex_lock(&m);
  if (stock < k) return -1;
  stock -= k;
  pthread_mutex_unlock(&m);
  return stock;
}

void put(int k) {
  pthread_mutex_lock(&m);
  stock += k;
  pthread_mutex_unlock(&m);
}

补全 per_func(src):按「行首不缩进且以 { 结尾」认函数开头(函数名是第二个词去掉括号),交回 {函数名: (拿次数, 放次数)},按函数出现顺序拼成 名:拿放。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论