【文件属性】:
文件名称:2009百度招聘笔试题
文件大小:28KB
文件格式:DOC
更新时间:2011-12-18 03:35:18
2009 百度 笔试
2009校园招聘系统部试题(一)
一、编程题(30分)
现代的处理器提供了compare-and-swap原子操作:
int compare_and_swap(int * pv, const int cv, const int nv);
即比较*pv与cv,如果相等,则把*pv值替换为nv并返回*pv原值,否则返回*pv的值。
请利用上述原子操作实现如下操作:
int inc_if_gt_zero(int * pv);
即如果*pv > 0,则把*pv加1并返回修改后的*pv,否则返回*pv。
结果要线程安全且不使用锁、信号灯、互斥量、临界区或类似机制。
网友评论
- 有些没有答案,不过总体还不错