Multithreading 在多线程中是否有事务提交的模拟?

Multithreading 在多线程中是否有事务提交的模拟?,multithreading,transactions,Multithreading,Transactions,我经常有这样一种印象,即可以在事务和线程之间进行紧密的类比。事实上: 事务是一系列操作。正在运行的线程是一系列语句 事务读取/修改行和表(就关系数据库而言)。线程读取/修改类和静态字段 事务利用这些数据来实现数据一致性。做线程 如果这个类比真的发生了,那么每个人都可以更容易地使用他们关于多线程的知识来理解事务(反之亦然) 但是,有一个问题:在多线程世界中,事务提交(或回滚)似乎没有类似之处 这是否意味着现实中的类比只是一种错觉,在学习事务时最好不要使用关于多线程的知识?或者仍然存在提交/回滚的类

我经常有这样一种印象,即可以在事务和线程之间进行紧密的类比。事实上:

  • 事务是一系列操作。正在运行的线程是一系列语句
  • 事务读取/修改行和表(就关系数据库而言)。线程读取/修改类和静态字段
  • 事务利用这些数据来实现数据一致性。做线程
  • 如果这个类比真的发生了,那么每个人都可以更容易地使用他们关于多线程的知识来理解事务(反之亦然)

    但是,有一个问题:在多线程世界中,事务提交(或回滚)似乎没有类似之处


    这是否意味着现实中的类比只是一种错觉,在学习事务时最好不要使用关于多线程的知识?或者仍然存在提交/回滚的类比?

    在Java中,可以让一个线程等待其他线程死亡(请参阅)。事务的提交/回滚操作似乎类似于线程的死亡