社区
Java SE
帖子详情
synchronized函数的原子性
aozhi
2010-11-23 09:09:04
比如一个synchronized函数,执行时,中间出了空指针异常。
那么之前正常的处理会不会回滚?
...全文
151
6
打赏
收藏
synchronized函数的原子性
比如一个synchronized函数,执行时,中间出了空指针异常。 那么之前正常的处理会不会回滚?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aozhi
2010-11-24
打赏
举报
回复
谢谢各位,自己做了个实验,确实不能回滚。
断章取义地理解了synchronized函数具有原子性的说法。
qybao
2010-11-23
打赏
举报
回复
之后出现的异常不影响前面的执行结果,如果想回滚,就自己做,在catch把你删掉的连接再放回去
caofaping
2010-11-23
打赏
举报
回复
既然第二步正常,那就是删除咯,其他的异常又不影响这个。
blazingfire
2010-11-23
打赏
举报
回复
前两步没有问题,取出的连接当然从闲置连接中删除了(这是你第二步的功能),除非删除功能有问题
aozhi
2010-11-23
打赏
举报
回复
详细说明一下吧。
自定义一个连接池类实现Runnable接口。
其中有一个getConnection函数是同步的。
在此函数中前两步是
1 从闲置连接里取出一个连接
2 将该连接从闲置连接里删除
假设这两步运行正常,而后面出了空指针异常,函数结束。
那么,这时该连接池对象中的闲置连接里应该有没有刚才被删除的连接?为什么?
24K純帥
2010-11-23
打赏
举报
回复
回滚不是指的数据库么,这是什么情况
关于
synchronized
具备
原子
性
的问题
1 关于
synchronized
具备
原子
性
的问题1
原子
性
的定义:
原子
操作(atomic operation)是不需要
synchronized
,这是Java多线程编程的老生常谈了。所谓
原子
操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就...
线程
原子
性
synchronized
synchronized
synchronized
是 Java 中的一个关键字, 是一种同步锁 ,它修饰的对象主要有 4 种 . 修饰一个代码块: 大括号括起来的代码, 作用于调用的对象 修饰方法:整个方法, 作用于调用对象 修饰静态方法:整个...
如何保证
原子
性
如何保证
原子
性
同一时刻只有一个线程执行称之为...
synchronized
一定能保证
原子
性
,因为被其修饰的某段代码,只能由一个线程执行,所以一定可以保证
原子
操作. JUC
原子
变量 juc(java.util.concurrent包)中的lock包和atom
多线程--06--多线程安全问题解决--01--总述--03--java如何保证
原子
性
、有序
性
、可见
性
由于
synchronized
和Lock能够保证任一时刻只有一个线程执行该代码块,那么自然就不存在
原子
性
问题了,从而保证了
原子
性
。 //举例:JMM只保证基本赋值的
原子
性
x = 10; //
原子
操作 y = x; //非
原子
操作 x++;
原子
性
、可见
性
、有序
性
解决方案
JMM对
原子
性
的保证大概分以下几种类型:java自带
原子
性
、
synchronized
、Lock锁、
原子
操作类(CAS)。下面我们来一个一个细说。 1. java自带
原子
性
在Java中,对基本数据类型的变量的读取和赋值操作是
原子
性
操作,...
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章