New Document

<<  < 2007 - >  >>
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31










处理 SSI 文件时出错


  • 日志:44
  • 评论:19
  • 留言:1
  • 访问:




 
 要做细胞计数啦啦,交流哈,qq56895550  scp8462@163.com
设计,什么是设计,什么是抽象!
厚道 发表于 2007-3-12 21:52:00

怎么样设计一个结构?如何进行设计,要有这个意识,要设计,不要零散,一个好的结构非常的重要,而设计的一个过程就是一个抽象的过程,往往不是我们平常在书本上看到的那么简单,为什么不进行相应的抽象和设计呢,思考~关键是一个思考,要有这个意识!
但是很多时候,我们都把时间花在debug和系统的细枝末节上了,而忽略了最终要的系统设计,结构设计,模块设计,要高标准严格要求,看设计的是否合理,为什么这么设计!
下面是一个多进程共享缓冲区属性的设计例子,我们平常往往是用一个信号量或者标记为来标记了事,并没有深度挖掘其内在的所有属性,下面是别人的一个设计,我觉的很好:

typed struct {
  pthread_mutex_t mutex;
  pthread_cond_t ok_to_read;
  pthread_cond_t ok_to_write;
  int readers;
  int writing;
  int waiting_writers;
  /* data */
} shared_data;
 
有几个值得称道的地方:
readers:表示出了共享缓冲区可以允许多个进程同时读,但是不能允许多个线程同时写;
writing::标记当前是否有进程正在写数据;
waiting_writers:更是妙哉,标记出了当前还有多少个进程在等待着写;
当前的设计考虑了共享缓冲区的所有可能的状态,看似简单,其实是一个抽象的过程,我们能抽象出这么多状态么?
为什么没有进行相应的思考呢?
并不是说我们

 
  • 标签:设计 抽象 
  • 处理 SSI 文件时出错

    发表评论:

      大名:
      密码: (游客无须输入密码)
      主页:
      标题:
      教育人博客页面数据载入,请耐心等待