java关于并发查询数据库的问题

java关于并发查询数据库的问题

问题如下

1,从数据库查询2条数据

2,循环2条数据请求第三方接口(耗时)(每条数据只能请求3次第三方接口)

3,请求成功则修改该条数据(请求第三方的次数+1)。

现在的问题是
    并发情况下,两个线程同时进来,取到2条数据(已经请求过第三方接口两次)
    这时候两个线程同时再去请求第三方接口,得到的结果就只会有一个成功。因为另一个已经达到3次了。
    这种问题应该怎么解决???

1个回答

为每个线程设定自己的私有空间变量,每次执行之后加1,私有变量,也就是不需要加volatile关键词

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于java 定时查询数据库的问题
大家好,我有一个需求,定时查询数据库,查看指定表是否有新数据,如果有,则执行一些操作,然后把数据状态更新了,这个表的数据量非常多,每天可能有1W条左右,间隔是最多每隔5分钟就要去查询一次,各位大神提提意见吧。由于数据量比较大,而且需要执行一些任务,在效率方面能做的更好的。
java查询数据库的问题?
String s1="";rnResultSet RS1=...;rnwhile(RS1.next())rnrn String s2="";rn ResultSet RS2=...;rn while(RS2.next())rn rn rn RS2.close();rnrnRS1.close();rnrn内部的while导致外部的while无法循环,为什么?
关于查询数据库的问题
怎么规定一编文章只允许一些人看,譬如允许小明或小黄,rnrn 我看过一些网站,他们都在名称的后面加上一个“|”,也就是小明|小黄,但怎么可以读出数据=小明的?如果直接用“包括”的方法,那就连有“小”的人都被认为是允许的。rnrn请问怎么读出“|”???
####一个关于查询数据库的问题!!!
在同一个文件夹下有几个不同的数据库,每个库里有很多表。比如说,这些库和表是关于考试学生信息录入的,只要我选定一个学生的编号,就在所有库的所有表里把和这个学生编号相关的记录全部查询出来。然后再导入到一个新建的库里!rn我没有思路,请大家帮忙,看看有什么办法或什么代码让小弟度过难关,万分感谢!
关于查询数据库主键的问题
SELECT parent_obj,name FROM sysobjects WHERE xtype='pk'rnrn这样我查出所有主键名字了,rn但是我现在还想知道主键对应的字段是哪些,rn还要关联哪个表rn最好能跟sp_help一样,显示的格式一样的
关于ADO查询数据库的问题?
Delphi5.0用ADO连接到SQL2000数据库rn现在遇到个问题:rn在查询时,如果没有查询到有效记录,那么再执行查询就出错,rn提示:EOF或BOF有一个是真,或者当前记录被删除,所需要的操作需要一个当前记录。rn我想应该是当前的记录指针有问题,但不知如何解决,请各位指点。谢谢!
关于线程查询数据库的问题
我想开一个线程查询数据库,代码如下,不知道对不对,又怎么样在程序中调用呢?rn这是线程单元代码rntypern showlist = class(TThread)rn privatern mylistview: tlistview;rn myquery: tquery;rn protectedrn procedure Execute; override;rn end;rnrnimplementationrnprocedure showlist.Execute;rnvarrn mynewitem: tlistitem;rnbeginrn freeonterminate:=true;rn mynewitem:=mylistview.items.add;rn mynewitem.caption:=myquery.fields.fields[0].asstring;rn mynewitem.subitems.add(myquery.fields.fields[2].asstring);rn mynewitem.subitems.add(myquery.fields.fields[3].asstring);rnend;rn在程序如何调用呢?我就是想取得一条记录后就在listview中显示一条,而不必等到全部取得后再显示
关于查询数据库数据的问题
请问下,有几个type=text类型框,如果只对其中一个输数据,其它都空的,点查询钮,就只查询符合一个条件的数据rn如果对两个输数据,其它都空的,点查询钮,就只查询符合两个条件的数据,如果对三个输数据,其它都空的,点查询钮,就只查询符合三个条件的数据,rn请问这样的sql语句是怎么写的?
关于struts2查询数据库的问题
我是刚刚学习struts2的以前也没有用过struts1(主要用servlet),我现在看过的关于struts2的书籍都用这种方法查询数据库:rnreturn getHibernateTemplate().find("from Item as i where i.owner.id=? and i.itemState.id=2,itemId");rn如果我只想查出:Item数据库中的某个外健(例如:kindId)其余的都不要,我应该怎么办啊?rn谢谢回答!
关于servlet查询数据库的问题。
import java.sql.*;rnimport java.io.*;rnimport javax.servlet.http.*;rnimport javax.servlet.*;rnrnpublic class login extends javax.servlet.http.HttpServletrnrn Connection con;rn PreparedStatement pstm;rn public void init(ServletConfig config)throws ServletExceptionrn rn super.init(config);rn tryrn rn Driver dirver=(Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();rn String url="jdbc:oracle:thin:@202.98.46.45:1521:oracle8";rn con=DriverManager.getConnection(url,"SCOTT","tiger");rn pstm=con.prepareStatement("select * from new_user where user_name=?");rn rn catch(Exception e)rn throw(new UnavailableException(this,"Sorry dadabase did't load!"));rn rn rn public void service(HttpServletRequest req,HttpServletResponse resp)rn throws ServletException,IOExceptionrn rn ServletOutputStream out=resp.getOutputStream();rn String str1=req.getParameter("USERNAME");rn String str2=req.getParameter("PASSWORD");rn rn tryrn rn synchronized(this)rn rn pstm.setString(1,str1);rn ResultSet res=pstm.executeQuery();rn if(res.getString("user_name")==null)rn rn out.print("user not exitst!");rn rn else if(res.getString("user_password")!=str2)rn rn out.print("password not right!");rn rn elseout.println("you are login!");rn pstm.close();rn con.close();rn rn catch(SQLException e)rn out.println("somethingSQL is wrong!");rn rn rn 我建了两个字段user_name,user_password,程序总是抛出SQLException
关于vba查询数据库的问题
我在vba中添加了一个窗口。我想在窗口中显示recordset数据rn并且recordset已经有数据了。用哪个控件能显示数据呢(类似datagrid)rn.之前我手工天加了。MSDATGRD.OCX控件。并且在工具栏中能看到这个控件。可是拉到自己创建的窗口中rn提示无法添加控件 未正确授权。高手请帮帮我。比较着急。
关于多线程查询数据库的问题!
还是一个关于多线程查询数据库出现多个线程查出同一条记录的的问题。rn表里本身有个字段,就是判断是否被查询过的。查询过的后的字段被改为false,就不再查询。rn但是发觉还是一样,比如用了3线程,同一条记录还是被查处三次。rn示例如下:rn首先在form1类中rnprivate static void createThread()rnrn for (int b = 0; b < 3; b++)rn rn Thread thread = new Thread(new ThreadStart(sendMessage));rn thread.IsBackground = true;rn thread.Name = b.ToString();rn thread.Start();rn rn}rnrnprivate static void sendMessage()rnrn GetData getdata = new GetData();rn Record record = getdata.getNotSendMessage();rn ...rn ...rn //这里面有数个需要查询不同表的数据,都是getdata这个类中的方法rn Thread.Sleep(500);rn sendMessage();rn}rnrn//GetData类中:rn public Record getNotSendMessage()rn rn string sql = "getNotSendMessage";rn SqlDataReader reader = null;rn tryrn rn DBHelper dbhelp = new DBHelper();rn reader = dbhelp.ExecuteProcSelect(sql);rn if (reader.Read())rn rn Record record = new Record();rn ...rn ...rn reader.Close();rn return record;rn rn reader.Close();rn dbhelp.closeConnection();rn return null;rn rn catch (Exception e)rn rn ...rn ...rn rn rnrn ...rn ... //也是数个查询方法rnrn//DBHelper 类中rnrn public SqlConnection Connectionrn rn getrn rn string connectionString ="数据库连接语句";rn rn if (connection == null)rn rn connection = new SqlConnection(connectionString);rn connection.Open();rn rn else if (connection.State == ConnectionState.Closed)rn rn connection.Open();rn rn else if (connection.State ==ConnectionState.Broken)rn rn connection.Close();rn connection.Open();rn rn return connection;rn rn rnrn public void closeConnection()rn rn if (connection.State == ConnectionState.Open)rn rn connection.Close();rn rn else if (connection.State == System.Data.ConnectionState.Broken)rn rn connection.Close();rn rn rnrn public SqlDataReader ExecuteProcSelect(string procName, params SqlParameter[] values)rn rnrn SqlCommand cmd = new SqlCommand();rn cmd.Connection = Connection;rn cmd.CommandText = procName;rn cmd.CommandType = CommandType.StoredProcedure;rn cmd.Parameters.AddRange(values);rn SqlDataReader sdr = cmd.ExecuteReader();rn return sdr;rn rn ...rn ... rnrn现在主要的是sendMessage所有方法获取数据库中的数据如何让其不重复读取一条,rn我试过用用lock都还是不行,在下很少用到线程..所请各位前辈帮帮忙!rnrn
关于vb查询数据库的问题?
-
关于php查询数据库的问题
是不是php从mysql中select出来的数据,不管mysql中是什么类型的,返回的结果都变成字符串类型啊?rnrn
关于VC查询数据库的问题
由于公司的数据库存有大量的数据(大概有1000多万条),在VC中进行查询数据的操作经常提示会超时,我想请教一下,除了在数据库中添加索引以外,能不能在程序中用VC的语句来提高查询的效率呢???
关于数组查询数据库的问题
rn 书名 作者 价格 出版社 数量rn<%rnset conn=server.createobject("adodb.connection")rnconn.open "driver=microsoft access driver (*.mdb);dbq="&server.mappath("shop.mdb")rnset rs=server.createobject("adodb.recordset")rnnum=split(request("chk")," ")rnfor i=0 to ubound(num)rnexec="select*from list where name='"&num(i)&"'"rnrs.open exec,conn,1,1rn%>rn <%=rs("name")%> <%=rs("author")%> <%=rs("price")%> <%=rs("publisher")%> rn rn<%rnrs.closernnextrn%>rnrn我用的是复选框,但是显示结果就只有最后一个复选框的内容被查询显示出来,程序也循环了的
关于语句查询数据库的问题
大家好,我是菜鸟,我想用SQL语句查询数据库(一个库里2张表,一张有名字和代码,另外一张是名字和记录),我知道SQL语句的写法是“SELECT ID FROM DAIMA WHERE NAME = SELECT NAME FROM JILU”rn但是应该怎么连接数据库呢?谢谢!rnrn顺便说一下,我的SQL语句是不是有错,也请大家看看!rnrnrnrn在线等!!!!!rnrnrn再次感谢!!!
关于java查询数据库 美元符号$的问题
String strCjm="天堂鸟网络服务有限公司$发的是v$的是否撒$个人$dyOOAY4QTL+JOVi4N3/DNTp+p8PHTKSng1BFIBXBKrUQbH0onWtZahJB0TE7Kakl$130000000152";rn Condition condition = Cnd.where("caijima", "=",strCjm);rnList cjm_list = dao.query(Caijima.class,condition, null);rn-------------rn日志显示:rn2016-10-11 14:32:21,811 [main] DEBUG org.nutz.dao.impl.NutDao - SELECT * FROM caijima WHERE caijima='天堂鸟网络服务有限公司$发的是v$的是否撒$个人+JOVi4N3/DNTp+p8PHTKSng1BFIBXBKrUQbH0onWtZahJB0TE7Kakl'rnrn=======================================rn查询的字符串中的两个字串没了,导致查询不到数据,请问这是什么问题?(ps:informix数据库)rn$dyOOAY4QTLrn$130000000152rn
关于数据同步和并发(java)
比如一个客户表有id、personId(获得客户的人的id),有很多人做获取同一个客户操作,但是只有最先操作的人才可以获得要怎么做呢?关键是性能问题?我想到的只是同步锁定操作的方法,但是并不可行,锁定了方法后不同的客户id也不能同时操作了,各位请帮忙看看!谢谢!n[b]问题补充:[/b]n在代码里加一个同步的方法,也是我想到的,想问题下,如果不同的2人同时获取不同的客户,他们用的代码是不是同一个呢?那样的话,他们就是不能同时操作?
关于java并发访问
怎样用java作一个并发访问的东东?怎样获知当前的并发访问数?怎样来控制并发访问?可否给个例子瞧瞧?多谢多谢!!! rn================================================================rngood luckrnrn
java查询数据库
为啥查询数据库某一列时会显示无效的描述符引索[img=https://img-bbs.csdn.net/upload/201612/08/1481126670_732022.png][/img]
关于查询数据库
取出数据库里:id=2001,num=●的数据,该怎么写?rn(●指id=2001的情况下,num中最大的一个数字)
java查询数据库提高速度问题
项目需要制作java查询报表。rn设计问题使得出来一张报表需要数据库进行多条查询来填充数据。rn但上千条的查询语句使得运行速度很慢。rn请问有何好的解决办法,有批量查询一说?
java查询数据库以后的对齐问题
用java连接数据库以后对一个简单的表进行了查询,每个字段用制表符“\t”分隔,查询出的结果出现了列无法对齐的情况,原因是如果字段值长度&amp;gt;=8(例如“salesman”),会自动再多加一个制表符,导致错位,如下图所示: 解决办法: 用格式化输出,对于长度较长的字段值,长度设置长一些(通过%后对应的数字设置),int类型用%d,double类型用%f,String类型用%s,-表示左对...
关于页面多次查询数据库的问题
rn有一个网站的数据访问我是用linq to sql 实现的,model层的数据实体是用orm关系器生成的(也就是dbml文件)rnrnrn现在每个页面都差不多有10条左右的查询语句,每条语句都是通过ID号来查询结果的。页面不是很多,请问下这样影响性能不?需不需要把整张数据表缓存起来再进行筛选结果?rnrn下面是其中一个页面的源码,很简单的rnrnpublic void Page_Load(object sender,EventArgs e)rn rnrn flash1 = ib.SelectUrlByID(40);rn flash2 = ib.SelectUrlByID(41);rn flash3 = ib.SelectUrlByID(42);rn flash4 = ib.SelectUrlByID(43);rn flash1 = flash1.Substring(2).Replace("\\", "/").ToLower();rn flash2 = flash2.Substring(2).Replace("\\", "/").ToLower();rn flash3 = flash3.Substring(2).Replace("\\", "/").ToLower();rn flash4 = flash4.Substring(2).Replace("\\", "/").ToLower(); rnrn //取出id为43的记录并赋值给id为IT的控件rn IT.Text = cb.SelectDetailContent(43);rnrn //从Content表选出id为44的记录并赋值给id为services的控件rn services.Text = cb.SelectDetailContent(44);rnrn //从Content表选出id为45的记录并赋值给id为profess的控件rn profess.Text = cb.SelectDetailContent(45);rnrn //从Content表选出id为46的记录并赋值给id为Support的控件rn Support.Text = cb.SelectDetailContent(46);rnrn //从Content表选出id为47的记录并赋值给content变量rn string content = cb.SelectDetailContent(47);rnrnrn //把字符串裁剪之后赋给id为Introduction的控件rn Introduction.Text = CutString.TruncateString(content,510, "...");rnrnrn //从Content表选出id为12的记录指定为GridView1的数据源rn GridView1.DataSource = cb.SelectRecords(12);rnrnrn //判断页面是否是回传的rn if (!Page.IsPostBack)rn rn //执行GridView1的数据绑定操作rn GridView1.DataBind(); rn rn rnrn
关于查询数据库,返回实体的问题
比如我现在有一个实体:学生,有三个属性(姓名、年龄、班级)rnrn我查询出来后,我想给前端发送的学生实体能有四个属性(姓名、年龄、班级、重复姓名)rn其中重复姓名和姓名的值一样rnrn说白了就是给查询出的结果多加一个实体没有的字段rn有没有什么办法实现
关于查询数据库的问题.(在线等!)
怎样查询数据库表的数据条数是多少...用什么语句?
很急关于查询数据库过滤的问题
如题 写入表的起止字段和终止字段如下:rnrn起止 终止rn00001 00050 rn00101 00110rn00151 00160rn····rnrn请限制输入 00055 - 00105(因为00105已经入在00101-00110的号段里面或者限制 00041-00099···这样的情况),rn不太会表明意思只能举这么本的例子rn这个sql语句应该怎么写啊rnrn请大神帮帮小弟忙啊rn
问个关于中文查询数据库的问题!
public User getoneUser(String id)rn PreparedStatement ps=null;rn ResultSet rs=null;rn User user=new User();rn tryrn con=DatabaseConnn.getConnection();rn String userId=new String(id.getBytes("ISO-8859-1"),"gb2312");rn ps=con.prepareStatement("select * from user_info where userId=?");rn ps.setString(1,userId);rn rs=ps.executeQuery();rn while(rs.next())rn user.setUserId(rs.getString(1));rn user.setUserName(rs.getString(3));rn user.setAge(rs.getInt(4));rn user.setSex(rs.getString(5));rn user.setEmail(rs.getString(6));rn user.setQq(rs.getString(7));rn rn rn catch(Exception e)rn e.printStackTrace();rn rn finallyrn tryrn if(rs!=null)rn rs.close();rn rn if(ps!=null)rn ps.close();rn rn if(con!=null)rn con.close();rn rn rn catch (SQLException ex) rn ex.printStackTrace();rn rn rn return user;rn rnselect * from user_info where userid=? 如果userId为中文就查询不到该数据我该怎么半呀?rn我插入的数据都做了转换 都是gb2312
关于select语句查询数据库的问题?
用SqlConnection和SqlCommand创建数据库连接和命令后,再用select语句查询需要的表.rnrn如:select * from Newsrnrn请问这样的查询方式,是不是一次性把数据库里的News表里的所有数据都查询出来了,并放在了内存中吗,我的理解是这样,不知道对不对?rnrn这样就有个问题,万一数据库的量很大,查询会很吃力,而且对内存开销很大...
关于用vs2005查询数据库的问题!
我现在用vs2005+sql server2000做系统开发,rn我设置了3个textbox 用textbox的数据来做参数查询数据库,用gridview来显示;rn其中2个textbox输入时间,另外一个输入文字,怎么可以查询到符合参数要求的语句呢?rn用存储过程好还是在。cs文件中些代码好呢?
关于hibernate查询数据库的问题sql2000
我用的驱动是microsoft driver,用jb可以创建和插入纪录。就是查询不出来。
关于查询数据库的问题,急问!
rnrn每次输出都是-1,但是我查询数据库的时候却能够查询出78条记录。rn而且,调试的时候发现rs能够抓出数据库表中正确的字段名,却没有记录!rn都快把我给搞死了,请大家帮忙!!谢谢。
【在线等待】关于查询数据库的问题
下面的代码是一个OnClick事件,它可以检查数据库中是否有包含county的记录。 rn当记录数大于0时,我可以在if语句中设置报警等功能。 rnrn现在的问题是:我不只是想知道数据库中是否有我所需要的记录,还想知道到底 rn是那些记录。比如我查到记录以后,可以把它的ID值作为一个值插入到另一个 rn表中记录下来,以后可以根据这些ID值进行详细的查询。 rnrn这样的程序该怎么写呢?请大家帮帮我。非常非常感谢!在线等你的回答 ^_^ rnrnpublic void alarm (Object Sender, EventArgs e) rn rnstring sqlvalue = "select count(county) from case_info where county like '%"+abc+"%'"; rnSqlConnection myConnection = new SqlConnection((String) ConfigurationSettings.AppSettings["gaowei"]); rnSqlCommand myCommand = new SqlCommand(sqlvalue, myConnection); rnmyCommand.Connection.Open(); rnint bcount = (int) myCommand.ExecuteScalar(); rnif (bcount > 0) rn rn Message.InnerHtml = "Well Done" ; rn return; rn rnelse rn rnMessage.InnerHtml = "else" ; rnreturn; rn rnmyConnection.Close(); rn
关于查询数据库,基础入门问题
1.我是在点击一个按钮后开始查数据库并显示在DataGrid里的,发现第一次速度很慢,后来再查询就比较快了,不知道为什么。rn2.是不是应该把连接数据库做成一个class,然后各处都可以调用,这种做法是不是才是比较通常的做法?可以使用数据库连接池吗?rn3.我这里只是显示数据,不需要更改,我看到书中说记录集rs可以有dynasets,snapShots和table类型,其中snapshots和table类型速度快且资源占用小,如何使用呢? 我是只写了下面这些代码,没有另外添加什么sqlcommand等之类的控件.rn谢谢!rnrn Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Clickrn Dim ObjConnection As New System.Data.OleDb.OleDbConnection()rn Dim ObjSelectCommand As New System.Data.OleDb.OleDbCommand()rn Dim ObjDataAdapter As New System.Data.OleDb.OleDbDataAdapter()rn Dim ObjDataSet As New System.Data.DataSet()rn Dim ConnectionStr As String = "provider=sqloledb;data source=pacsh-server;initial catalog=test;user id=hero;password=aaa;"rnrn ObjConnection.ConnectionString = ConnectionStrrn Dim tempvar As Stringrn If TextBox1.Text <> "" Thenrn tempvar = "salesref='" & TextBox1.Text & "'"rn End Ifrn If TextBox2.Text <> "" Thenrn If tempvar <> "" Then tempvar = tempvar & " and "rn tempvar = tempvar & "sname like '%" & TextBox2.Text & "%'"rn End Ifrn If TextBox3.Text <> "" Thenrn If tempvar <> "" Then tempvar = tempvar & " and "rn tempvar = tempvar & "cname like '%" & TextBox3.Text & "%'"rn End Ifrn If TextBox4.Text <> "" Thenrn If tempvar <> "" Then tempvar = tempvar & " and "rn tempvar = tempvar & "fdestnm like '%" & TextBox4.Text & "%'"rn End Ifrn If ComboBox1.Text <> "" Thenrn If tempvar <> "" Then tempvar = tempvar & " and "rn tempvar = tempvar & "sales='" & ComboBox1.Text & "'"rn End Ifrnrn ObjSelectCommand.CommandText = "Select salesref,agent,cname,sname,teu,feu,hq,lhq,type,movetype,vessel,voyage,fdestnm,sales From bkgrecord"rn If tempvar <> "" Thenrn ObjSelectCommand.CommandText = "Select salesref,agent,cname,sname,teu,feu,hq,lhq,type,movetype,vessel,voyage,fdestnm,sales From bkgrecord where " & tempvarrn Elsern ObjSelectCommand.CommandText = "Select salesref,agent,cname,sname,teu,feu,hq,lhq,type,movetype,vessel,voyage,fdestnm,sales From bkgrecord"rn End Ifrn MsgBox(ObjSelectCommand.CommandText)rn ObjSelectCommand.Connection = ObjConnectionrn ObjDataAdapter.SelectCommand = ObjSelectCommandrn ObjDataSet.Clear()rn ObjConnection.Open()rn ObjDataAdapter.Fill(ObjDataSet, "bkgrecord")rn ObjConnection.Close()rnrn Me.DataGrid1.DataSource = ObjDataSetrn Me.DataGrid1.DataMember = "bkgrecord"rn End Sub
关于用JSP查询数据库的问题
我用的是INFORMIX数据库,好像不支持TOP1,那我应该如何用JSP来rn表示:rn在SEC_PERSON中,每个(人员ID,单位ID)取统计时间结束前的最后一条记录rn如何用代码表示呀,大大们帮忙,比较急,最后有实例了,谢谢
急!~~~关于JAVA并发与数据同步问题
头疼。 头疼。 头疼。 rn一、场景描述 rn 两个独立WEB系统A和B。 rn 1、A系统创建送货单时,需要发送数据到B系统。B系统接收到送货单插入B系统对应的数表中(现在系统使用JMS方式)。 rn 2、在A系统创建送货的同时需要调用 (EJB) B系统对应数据库表中数据(上一次A系统发送到B系统中的送货单信息)进行数据校验。 rn二、问题描述 rn 在上述场景情况下,单A系统在短时间创建多个送货单时无法保证数据的同步,完整有效。 rnrn 比如:供应商 F创建送货单只能送货100,在他创建第一张送货单时创建送货数量100。按道理来说该供应商已经不能再创建送货单,但是如果在创建第一张送货单的时数据不能及时的插入到B对应的表中。由于B系统数据没有及时更新供应商又可创建第二张送货单。 rnrn三、寻求解决方案。 rn 1、系统之间交换以什么方式最为优秀。 rn 2、类似情况怎么保证数据的一致有效性,最好还能考虑性能。 rn 3、。。。。。。 rnrn望各位大侠指点一二,不胜感激。。。流涕啊。。
java写的接口关于MySql 并发问题
我写的java接口放到tomcat服务器上了,接口的内容是向数据库中插入一条数据。就是调用该接口就向数据库里面插入一条数据。可是问题来了,我的这个接口被四五个程序同时调用,这样的话有的程序调用时接口就会出异常,像这Nested exception is java.lang.reflect.InvocationTargetException: null,还有这异常:java.sql.SQLException: Duplicate entry '27924' for key 1",我现在疑惑的时,这时候当多个程序同时调用我的接口的话,这个sql插入语句是否要并发???rn如果要并发该如何并发???rnrn[img=https://img-bbs.csdn.net/upload/201512/19/1450515807_873296.png][/img]
java并发问题
[img=https://img-bbs.csdn.net/upload/201606/30/1467289327_949478.png][/img]rnrn这个程序用来实现计数的,我觉得volatile修饰符可以去掉。因为“synchronized ”保证了value具有可见性,所以不需要volatile
java并发的问题
不知道大家用没用过注解方式。rn@GuardedBy("this") private Integer count;rn使用这种内置锁,编译器直接报错。rn是不是需要引入什么包?rn分不多了,请各位见谅啊
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数