从我的理解
使用使用锁的线程可以打破抽象
locks不可综合我不是专家,我也找不到任何在线上的东西。我可能与您在Uni的主题相同,这是我想到的(根据个人经验)。
问题锁定了抽象原则,即锁状态及其资源可能无法通过当前执行指令集的状态确定。例如,在C ++中,您可以拥有一个面包师类,这需要对某些烤箱对象的共同访问。面包师需要经常使用烤箱(开放/关闭/将物品放在里面),并且需要独家访问烤箱才能这样做,但是这不能真正抽象出来,因为当他确切需要这种相互排斥的访问可能对他的功能可能很重要时, .希望有帮助的 - 让我知道您的想法,以便我们可以一起解决这个问题。
complysy,合成性意味着要采用两个或多个功能程序,并从中制定更大的程序。构图应基于已发布的接口,而不了解内部细节。
提交给
Https://en.wikipedia.org/wiki/lock_(computer_science)#cite_note-5。在此示例中,如果不知道锁定协议(帐户类的实现详细信息),则无法正确编写转移方法。
非补充性的例子(取自软件交易记忆材料):