Programming languages 唯一性类型而不是STM

Programming languages 唯一性类型而不是STM,programming-languages,stm,linear-types,Programming Languages,Stm,Linear Types,论坛将使用唯一性类型而不是STM。我不明白它在说什么。例如,当多个线程正在更新同一个变量时,唯一性类型如何处理STM试图处理的问题 我看了维基百科关于和的文章,仍然不清楚论坛帖子的意思。设计多线程同时共享和变异数据的系统是很困难的 简化并发的方法包括: STM——使用STM,数据仍然可以由多个线程共享和变异,但由于使用事务,可以检测到并发变异 唯一性类型——对于唯一性类型,最多存在一个对对象的引用。因此,根据定义,不可能同时修改相同的数据(至少需要两个引用,每个线程一个) 不变性——完全避免并

论坛将使用唯一性类型而不是STM。我不明白它在说什么。例如,当多个线程正在更新同一个变量时,唯一性类型如何处理STM试图处理的问题


我看了维基百科关于和的文章,仍然不清楚论坛帖子的意思。

设计多线程同时共享和变异数据的系统是很困难的

简化并发的方法包括:

  • STM——使用STM,数据仍然可以由多个线程共享和变异,但由于使用事务,可以检测到并发变异
  • 唯一性类型——对于唯一性类型,最多存在一个对对象的引用。因此,根据定义,不可能同时修改相同的数据(至少需要两个引用,每个线程一个)
  • 不变性——完全避免并发突变的问题,只共享不可变的数据
  • 参与者——参与者依赖于异步消息,并序列化他们接收的消息,从而避免并发修改