自定义博客皮肤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

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

原创 变长参数的 Tracer

几天前,在CSDN论坛看到这么一则讨论:在宏定义中怎么使用可变参数?(http://expert.csdn.net/Expert/topic/2925/2925165.xml)。楼主希望能定义这样的macro:#define fun1(a, b, ...)   fun2(__FILE__, __LINE__, a, b, ...)我猜楼主是想写trace,如果不能使用可变参数的macro,

2004-04-29 22:15:00 7459 10

原创 Linux 下配置 802.1X

寝室的网络采用802.1X认证,新装了个RedHat 9 ,发现上不了网,需要安装 802.1X 认证客户端。学校的网管只提供华为的Windows客户端,没有Linux版。自己动手,从 www.open1x.org 下载 xsupplicant ,从 http://libdnet.sourceforge.net/ 下载 libdnet-1.7.tar.gz 。先编译安装libdnet、再安装xsu

2004-04-29 16:07:00 15030 8

原创 LaTeX 印象

  LaTeX是一款半专业的排版软件。之所以说它“半专业”,是因为 1) 它能排出专业出版水准的书籍和文章;2) 它不是为专业排版人员准备,而是给书籍/文章的作者用的。我目前主要用LaTeX排版书籍和毕业设计报告,因为版式和内容完全可由我控制。如果用它排文章,那么哪家杂志社(非学术刊物)会接受LaTeX的稿件呢;)  学习LaTeX不难,一下午就能上手,一两周就能熟练运用。对我而言,LaTeX

2004-04-28 20:09:00 6650 8

原创 书籍的基本结构, in XML & LaTeX

http://worldhello.net/doc/docbook_howto/  三国演义      贯中    罗  宴桃园豪杰三结义 斩黄巾英雄首立功    话说天下大势,分久必合,合久必分。  张翼德怒鞭督邮 何国舅谋诛宦竖    且说董卓字仲颖,陇西临洮人也,官拜河东太守,自来骄傲。 

2004-04-28 15:39:00 5260 6

原创 Microsoft Visual C++ Toolkit 2003 发布

http://msdn.microsoft.com/visualc/vctoolkit2003/ The Microsoft Visual C++ Toolkit 2003 includes the core tools developers need to compile and link C++-based applications for Windows and the .NET Com

2004-04-23 17:10:00 8381 5

原创 算法复杂度攻击

1. Hashing我们经常使用这样的字符串的Hash函数:// 随手写的,未严格测试unsigned long Hash(char* str){    assert(NULL != str);    unsigned long hash_val = 0xDEEDBEEFul;   // hash seed    unsigned char* p = (unsigned char*)str

2004-04-22 13:06:00 7920 2

当析构函数遇到多线程── 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

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

编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 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-22

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

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

2010-01-10

空空如也

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

TA关注的人

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