桃源谷

心灵的旅行

人生就是一场旅行,不在乎旅行的目的地,在乎的是沿途的风景和看风景的心情 !
posts - 32, comments - 42, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Unix/Linux

posted @ 2010-08-01 13:19 lymons 阅读(7284) | 评论 (3)  编辑 |

     摘要: 在C++下编写synchronized method比较难 (1)CommentsAdd star

在Java中有叫做synchronized这样一个方便的关键字。使用这个关键字的话,就可以像下面那样能够简单的进行"同步"method. 然而,被同步的method并不表示它就能在多线程中同时被执行.   阅读全文

posted @ 2010-07-17 12:17 lymons 阅读(3299) | 评论 (0)  编辑 |

     摘要: W2K信号(Signals)的设备驱动

Unix下的信号提供了一个简单的IPC机制,也就是当进程收到一个信号后会异步(asynchronous) 地调用你的信号处理函数(也叫做句柄),不管你的代码是否已经处在执行的过程之中。 而在Windows 2000(译者注:版本高于W2k的Windows平台)下就需要用到一个设备驱动,以便你能使用异步过程调用(asynchronous procedure calls , 简称APCs或者APC) 来达成同样的效果.

By Panagiotis E.
August 01, 2001
URL:http://www.ddj.com/windows/184416344

翻译:Lymons (lymons@gmail.com)
  阅读全文

posted @ 2010-04-13 10:29 lymons 阅读(2271) | 评论 (0)  编辑 |

posted @ 2009-02-02 13:08 lymons 阅读(2014) | 评论 (0)  编辑 |

posted @ 2009-02-02 12:54 lymons 阅读(1209) | 评论 (1)  编辑 |

posted @ 2009-02-02 12:31 lymons 阅读(4693) | 评论 (0)  编辑 |

posted @ 2009-02-02 11:58 lymons 阅读(1095) | 评论 (0)  编辑 |

posted @ 2009-02-02 11:28 lymons 阅读(504) | 评论 (0)  编辑 |

     摘要: 「Code Reading―从开源里学习软件开发的技法」有这样一本书。我是这本书日本版的译者, 呵呵有点王婆卖瓜---自卖自夸的感觉,但是把读源代码作为主题的在市面还没有其他的书。我认为这是一本网罗了从技法到工具,数据结构,构架,还有利用代码的实际读法的实例的好书。

照片1●「Code Reading―跟着开源来学习软件的开发技法」
 这本书的前言里,编程高手Dave Thomas写下了下面的话。
 没有研读过其他作家作品的伟大作家,没有研究过其他画家笔法的伟大画家,没有盗取过并肩作战的同事的技术的技巧高明的外科医生,没有在副驾驶的位置积累实际经验的波音767的机长,在现实生活中真的会存在他们这样的人吗?  阅读全文

posted @ 2009-02-01 15:54 lymons 阅读(5599) | 评论 (0)  编辑 |

posted @ 2009-02-01 15:41 lymons 阅读(1436) | 评论 (1)  编辑 |

posted @ 2008-12-29 17:11 lymons 阅读(2662) | 评论 (0)  编辑 |

posted @ 2008-12-25 14:08 lymons 阅读(1296) | 评论 (0)  编辑 |

posted @ 2008-12-19 11:01 lymons 阅读(1231) | 评论 (0)  编辑 |

     摘要: 在高级语言例如C++中有效的使用共享内存并不是一件浅显易懂的事情,但是它也能克服这些内在的困难。这篇文章描述了在Linux上使用共享内存的两个C++设计模式并包含了样例代码,以及给读者打开了更有效的进程间通信的一扇门。

在面向对象系统中,当一个对象接收到一个消息时它能够发送一套事件。这些事件主要在同步模式下被处理。这个调用进程或者线程在发送消息调用完成之前,发送给对象一个消息和处理事件。然而,如果这个对象送出这些被更多的进程共享以及驻留在内存里的事件,情况就稍微的发生了一些变化。

这篇文章用两个C++的设计模式详细的描述了上述的情况,并且用一些例子程序阐明了解决方案。
  阅读全文

posted @ 2008-06-01 21:41 lymons 阅读(854) | 评论 (0)  编辑 |

     摘要: Unix跟Windows等那些”对于开发者易于使用”的OS比起来,在信号和线程的利用方面有诸多的限制。但是即使不知道这些知识就做构架设计和实现的情况也随处可见。这个就是那些经常不能再现的bug的温床吧。

因此,我想分成几回来写一些准则来防止陷入到这些圈套里。

准则1:不依赖于信号收发的设计

·给其他进程以及自己发送异步信号并改变处理流程的设计不要做

异步信号是值用kill系统调用来创建?发送的信号、例如SIGUSR1,SIGUSR2,SIGINT,SIGTERM 等
简单的使用忽略信号(SIG_IGN)则没有问题
·不要把线程和信号一起使用
  阅读全文

posted @ 2008-06-01 20:27 lymons 阅读(1344) | 评论 (0)  编辑 |

Full Unix/Linux Archive

我的个人简历第一页 我的个人简历第二页