2016 - 2024

感恩一路有你

java中异常中的e是什么 java两个线程同时调用一个类里的同一个方法,这样会出现什么情况?有没有问题?

浏览量:1087 时间:2021-03-25 08:13:27 作者:admin

java两个线程同时调用一个类里的同一个方法,这样会出现什么情况?有没有问题?

根据不同的情况,可能的情况如下:

1。如果此方法不涉及写入公共资源(如静态变量或写入文件),则在修改数据库值时不会产生影响。

2. 例如,类中的方法只计算输入参数并返回计算值,这没有任何效果。

3. 但是,如果要修改公共资源,例如修改存储在数据库中的值,则可能会出现问题,例如:

public void writedb(string key,string value){

collectiondb()

write(key,string value){

,4。由于Java线程的运行顺序不确定,第一个线程连接到数据库后挂起,第二个线程开始运行。如果collectiondb()进程使用类中的实例变量connection,则Conn用于保存数据库连接。当第二个线程完成运行时,Conn也关闭。当第一个线程继续执行write函数来写入数据库值时,将引发异常。

这是一个示例,还有其他问题可能会生成脏数据。

如果多线程使用公共资源,最好在同步方法上声明synchronized关键字

不允许Java同时抛出多个异常。一个Java方法只能有一个异常堆栈,捕获并抛出的最后一个异常将覆盖上一个异常。

当然也有奇怪的窍门,你做一个包类异常,每次抛出异常都要安装一个抛出。但我不知道这种情况是什么。

java中异常中的e是什么 java中常见的异常有哪些 java中如何处理异常

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。