自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈硕的Blog

吾尝终日而思矣,不如须臾之所学也。吾尝跂而望矣,不如登高之博见也。……君子生非异也,善假于物也。 @bnu_chenshuo

  • 博客(2)
  • 资源 (3)
  • 收藏
  • 关注

原创 面试题2:10个靶打中90环的情况有多少种?

中学数学题目:射击训练,每个靶得分为0环到10环(共11种可能),一个人打了10个靶,那么:打中0环的可能只有一种,即每个靶都打种0环。打中100环情况一样,只不过把得分换为丢分。打中1环有10种可能,即第1个靶打中1环,其余的靶打中0环;或者第2个靶打中1环,其余的靶打中0环;……或者第10个靶打中1环,其余的靶打中0环。打中99环情况一样,只不过把得分换为丢分。打中2环有55种可能

2006-09-13 15:05:00 7924

原创 面试题1:连续整数之和为1000的共有几组?

 连续整数之和为1000的共有几组?(假设整数非负)这是一道小学数学题。暴力解法,设满足条件连续整数中最小的那个为i,遍历 i in [1, 1000],计算数列 i, (i+1), (i+2), (i+3), ... 的部分和(partial sum),如果部分和等于1000,则输出;如果部分和大于1000,则跳出本层循环。Python 代码:    for i in range

2006-09-13 13:49:00 14770 3

当析构函数遇到多线程── C++ 中线程安全的对象回调 PDF

编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以借助 boost 的 shared_ptr 和 weak_ptr 完美解决。这也是实现线程安全的 Observer 模式的必备技术。 本文源自陈硕在 2009 年 12 月上海 C++ 技术大会的一场演讲《当析构函数遇到多线程》,内容略有增删。原始 PPT 可从 http://download.csdn.net/source/1982430 下载。 本文读者应具有 C++ 多线程编程经验,熟悉互斥器、竞态条件等概念,了解智能指针,知道 Observer 设计模式。

2010-01-23

《当析构函数遇到多线程》PPT

这是陈硕在 2009 年上海 C++ 技术大会演讲《当析构函数遇到多线程》的 PPT 投影片,可自由用于个人学习,其他使用需得到作者许可。 简介:编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种 race condition 是 C++ 多线程编程面临的基本问题,可以借助 tr1 中的 shared_ptr 和 weak_ptr 完美解决。这也是实现线程安全的 Observer 模式的必备技术。

2010-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除