- 博客(2)
- 收藏
- 关注
原创 使用条件变量实现线程同步的超时等待机制
如果 pthread_cond_timedwait 返回 ETIMEDOUT,说明等待超时,函数返回 TIMEOUT_ERR。在需要等待条件的场景中,建议优先使用条件变量来代替简单的轮询或超时等待。注意,调用 pthread_cond_timedwait 时,互斥锁会被自动释放,当线程被唤醒后,互斥锁会被重新锁定。在多线程编程中,经常需要等待某个条件满足才继续执行,但有时我们也希望在一定时间内条件未满足的情况下超时返回。: 结果变量,如果等待超时则返回 TIMEOUT_ERR,否则返回 0。
2024-08-14 11:41:42 367
原创 使用函数指针数组替换 switch case
现在,我们使用函数指针数组来重构上述代码。通过将每个操作的函数指针存储在数组中,我们可以使用简单的数组索引来调用函数,而不需要编写多个。通过使用函数指针数组,代码的结构更加清晰,添加新功能时只需要增加新的函数并将其指针添加到数组中,无需修改核心逻辑。能让代码更加简洁高效。语句将变得更加复杂且难以管理。每次增加新命令,都需要修改。现在有下面这样一段switch case代码。虽然这段代码很直观,但如果命令种类增多,语句,可能会导致维护上的困难。
2024-08-13 17:05:02 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人