flag在c语言中是什么
硬件型号:戴尔G15<br>系统版本:Windows10<br>flag在c语言中通常用来作为一个指示变化的变量的名称。C语言中一般设置一个变量flag,是一个来表示判断的变量,当做标志。<br>例如当一种情况的时候,置flag为1,当另外一种情况时,置flag为2。 变量名为flag,只是习惯问题,也可以取别的名字。<br>例:设置标志,如:A事件和B事件<br>A事件正在发生 flag=1,<br>A事件没有发生 flag=0;<br>B检测flag,如果flag=1,说明A正在执行,B就不执行<br>B检测flag,如果flag=0,说明A没有执行,B就执行<br>常用于同时访问共享内存,或者同一块儿变量,互斥。
@Transactional介绍<br>Transactional注解可以作用在接口、类、类方法<br>作用接口:不推荐,因为这只有在使用基于接口的代理时它才会生效作用于类:表示该类的所有public方法都配置相同的事务属性信息作用于类方法:只能用于public方法上。注意:如果类于类方法都配置了@Transactional,类方法事务会覆盖类事务<br>propagation属性<br>propagation代表事务的传播行为,默认值为Propagation.REQUIRED<br>Propagation.REQUIRED:如果当前存在事务,则加入该事务,如果当前不存在事务,则新创建事务(也就是说如果A方法和B方法都添加了注解,默认传播模式下,A方法调用B方法,会将两个方法事务合并为一个)Propagation.SUPPORTS:如果当前存在事务,则加入,如果不存在,则以非事务形式运行Propagation.MANDATORY:如果当前存在事务,则加入事务,如果不存在事务,则抛异常Propagation.REQUIRES_NEW:重新创建一个事务,如果当前存在事务,暂停当前事务(如果A方法默认为Propagation.REQUIRED模式,B方法为Propagation.REQUIRES_NEW,在A方法中调用B方法,A方法抛出异常后,B方法不会回滚,因为Propagation.REQUIRES_NEW会暂停A方法的事务)Propagation.NOT_SUPPORTED:以非事务方法运行,如果当前存在事务,暂停当前事务Propagation.NESTED :和Propagation.REQUIRED 效果一样<br>isolation属性<br>isolation事务的隔离级别,默认值为Isolation.DEFAULT<br>Isolation.DEFAULT:使用底层数据库默认的隔离级别Isolation.READ_UNCOMMITTEDIsolation.READ_COMMITTEDIsolation.REPEATABLE_READIsolation.SERIALIZABLE<br>timeout属性<br>timeout事务的超时时间,默认值:-1,如果超过该时间限制事务还未完成,则自动回滚<br>readOnly属性<br>readOnly指定事务是否