专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 开发方法

关于对象设计的有关问题

发布时间:2011-06-18 09:23:46 文章来源:www.iduyao.cn 采编人员:星星草
关于对象设计的问题
我设计聚合对象并使用观察者模式时,碰到这么一个问题,类A聚合类B,而且1对多关系,我在类A中有方法AddNew(B),添加B到链表里,有方法DelB(B),把B重链表中删除,使用时其他方法遍历链表查找一个B实例; 但是在多线程中,我可能在一个线程遍历链表的同时,另一个线程DelB(B),删除了一个B,从而遍历报索引例外. 不知道是设计问题,还是怎么解决呢?

------解决方案--------------------
多线程是需要对象进行同步和互斥的。一个线程操作时,进入管道,其它线程不能操作。

这个从具体层面来讲并不是设计问题,而是具体编程的问题。

你可以看看实时应用系统设计的书,里面有很多关于这样的内容。
------解决方案--------------------
1,这本身是一个矛盾,如果按你原有设计,必须对add,del方法中进行同步处理。比如临界区,信号量等
但是这会牺牲效率。对于较少的增,删除动作的话,这是一个比较好的方法。
2.如果你的增删除比较频繁,那么以上方法就不很好了。你应该用状态来表示是否删除。
多线中只需要控制状态量就可以了,大大提高效率,当然也需要做好同步。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • UML建模表示系统(框架)可扩展性解决思路

    UML建模表示系统(框架)可扩展性 求解:如何在UML中表示系统或者开发框架的可扩展性? ------解决方案-------------------- 你的问题...

  • 实体类应该有增删改查的Operation么?解决办法

    实体类应该有增删改查的Operation么? 我们正在设计一个系统,他们说实体类都要实现增删改查的方法。 理由是以面向对象开发为模式,那...

  • 需求说明书该不该写的很详细?解决方案

    需求说明书该不该写的很详细? 需求说明书一般都是这样写的: 6.3.2.3参数设置 设置系统运行需要的基本参数配置。 系统配置参数如...

  • UML书籍推荐解决办法

    UML书籍推荐 各位兄台: 我最近由于工作原因,需要进行如下工作: 1、用户需求到产品需求的转换,根据产品业务抽取业务模型,制...

  • 用labview模拟cpu解决思路

    用labview模拟cpu 我刚学习微型计算机原理,同时又接触了labview,看到微型计算机的基本原理结构,有了用labview模拟其工作原理的想法...

  • 软件接口标准有哪些?解决方法

    软件接口标准有哪些? 一般来说,接口遵循的标准应该不是指设计原则之类的吧?如,单一职责原则 - Single Responsibility Principle(SRP)...

  • 请问,找几本设计模式方面的经典书,大家推荐下

    请教,找几本设计模式方面的经典书,大家推荐下 请教,找几本设计模式方面的经典书,大家推荐下 ------解决方案-------------------- 偶...

  • 从数据流图导出模块结构图,该如何处理

    从数据流图导出模块结构图 本例是来自张海藩编著的《软件工程导论》第五版第5章P112中关于事务分析的映射方法。 数据流图如下 结...

  • C写的软件代码怎么实现

    C写的软件代码如何实现 应用软件的结构框架是。。。。。,谁能说下,我是菜鸟,特地来此请教 ------解决方案-------------------- 超...

  • 啊解决思路

    啊? 什么是云计算?学那个难不难? ------解决方案-------------------- 云计算的定义LZ自己百度吧,不管什么,只要自己想学,并下定决心...

热门推荐: