事务是如何工作的?
在一个事务中,如果当前正在进行的事务是线程安全的(即线程不会阻塞),则不会执行其他事务。在多个事务中,一个进程只有一次机会检查是否有任何线程未被阻塞的事件发生。当一个事务执行时,若要对该事务中的变量进行访问操作,则必须使用“location”方法;若要停止对该事务中的变量进行访问操作,则只需要使用“return”方法即可。当在多个不同的线程中执行一个共同关心的代码时,就称为异步操作,而每个线程都关心自身。因此在多个并发用户时,异步操作是允许的。1.事务类型
事务一般可以分为两种:
一种是异步事务,即我们常说的 redis;另一种是锁的事务,即事务是锁的;在实际的应用中,可能会用到其他一些类型来区分事务,如:锁的事务。注: redis ()方法和 location ()方法都是异步事务。2.事务代码
事务中的函数用来实现数据的写入和读取,并且在事务失败时能保证该函数在数据库中的执行。
当数据库对象(Database)被访问时,一个进程首先会调用一个 Database函数,然后对该对象进行处理,如果有未读和未修改的记录则执行。事务代码是用来处理事务操作以及相关信息的,所以在事务中不能有其他操作。因为是写数据库对象的,所以用来描述数据写入和读取相关操作。事务代码可以作为数据库执行各种操作时需要调用的函数库。3.事务过程
事务的执行过程:
在事务中,要判断当前正在进行的事务是否为线程安全。当一个事务在内存中被等待时,会检查是否有事件发生(即判断当前业务是否已经完成)。如果在此期间发生了其他事情,则不能继续执行操作;否则将结束任务并返回线程安全的情况。当一个事务被停止时,要恢复该事务的工作,只需要执行 return或者 reflect两个方法即可。在一个事务被暂停后,会从当前操作中抽取数据重新开始新的操作;否则将直接关闭当前所调用程序。4.并发控制
并发控制是对线程安全和操作安全性的基本保证。
线程安全:指在多个进程中,不允许其他进程阻塞自己的进程,除非其他进程将自己阻塞了。线程安全:指在一个进程中,不能同时对两个以上的对象进行访问操作,且必须等待一定时间后才能再次访问这些对象。并发控制:当程序需要多个线程一起操作时,可以通过并发控制来保证并发执行的顺序和速度。本文由刘老师于2022-12-06 16:50:02发表在本文库,如有疑问,请联系我们。
本文链接:https://www.zhb8848.com/zhichangwendang/mianshiti/25274.html