condition.await()并发问题

public class BlockArrayList extends ArrayList
{
/**

* long serialVersionUID:TODO(用一句话描述这个变量表示什么)

*

* @since 1.0.0

*/

private static final long serialVersionUID = 1L;

private ReentrantLock lock = new ReentrantLock();

private Condition notEmpty = lock.newCondition();

public int i = 0;

public Exception ee;

public E take() throws InterruptedException
{
    try
    {
        lock.lock();  
        E e = null;
        int size = this.size();
        if(size == 0)
        {
            notEmpty.await();
        }
        i++;
        System.out.println(i);
        try
        {
            e = this.remove(0);
        }
        catch(Exception e1)
        {
            ee = e1;
        }

        return e;
    }
    finally
    {
        lock.unlock();
    }
}

public boolean offer(E e)
{
    try
    {
        lock.lock();
        this.add(e);
        notEmpty.signal();
        return true;
    }
    finally
    {
        lock.unlock();
    }
}

public void op()
{
    E s = null;
    try
    {
        s = this.take();
    }
    catch (InterruptedException e)
    {
        System.out.println(Thread.currentThread().getName() +" 被动结束");
        e.printStackTrace();
    }
}

public class MyThreadFactory implements ThreadFactory
{

    private AtomicInteger NUMBER = new AtomicInteger(0);

    @Override
    public Thread newThread(Runnable r)
    {
        Thread t = new Thread(r);
        t.setName("shaoweiThread-"+NUMBER.decrementAndGet());
        return t;
    }
}

public static void main(String[] args)
{
    final BlockArrayList<String> list = new BlockArrayList<String>();
    ThreadFactory threadThread = list.new MyThreadFactory();

    Thread t = threadThread.newThread(new Runnable()
    {
        @Override
        public void run()
        {
            int i = 0;
            while(i <410000)
            {
                list.op();
            }
        }
    });
    t.start();
    threadThread.newThread(new Runnable()
    {
        @Override
        public void run()
        {
            int i = 0;
            while(i <410000)
            {
                list.op();
            }
        }
    }).start();

    threadThread.newThread(new Runnable()
    {
        @Override
        public void run()
        {
            for(int i=0;i<400000;i++)
            {
                boolean flag = list.offer("item" + i);
                if(!flag)
                {
                    System.out.println("添加元素失败");
                }
            }
            System.out.println(list.ee);
        }
    }).start();


    System.out.println("主线程结束");
}

}

多个线程去取阻塞队列为啥会有并发问题呢?i正常应该为400000的,谁能给解释下

2个回答

但是现在的值为402235

 while(i <410000)
            {     
synchronized (list) {
                       list.op(); 
                                            }
                     } 

list没有做线程安全同步,使用synchronized进行安全处理。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
并发问题
并发可以分为正常并发,恶意并发。 恶意并发可以用数据库的组合唯一索引来解决 正常并发可以用乐观锁加上递归来解决 synchronized只能解决单机问题, 集群环境则无能为力了。 ...
并发问题?
多人同时对同一个表进行插入多条数据,总有人不成功,插入的数据ID号是系统自动增加,无论我怎么设置数据窗口也无济于事.我连接的是sql server2000.是不是第一个插入的同时(还没有插入完成)把该表锁住了,如果是,如何知道该表被锁住和解锁.
并发的问题
今天突然想到个问题,就是在插入数据时,有唯一字段,都知道GUID是唯一的,如果用System.DateTime.Now.ToString("yyyyMMddhhmmssffff")来生成一个精确到4位毫秒的值,在有并发的情形下,是否会有重复的值产生啊?
并发问题!!!
我对sql server 2000的并发控制不是很了解,所以想问一下,在以下代码中:rn--*******************************************************************rnALTER PROCEDURE dbo.SetPublishNumberrn(rn @PublishID uniqueidentifierrn)rnASrn SET NOCOUNT ON rn update Publishesrn set [PublishNumber] = dbo.GetNewestPublishNumber(getdate())rn where [ID] = @PublishIDrn rn RETURN rnrnGOrnrnALTER FUNCTION dbo.GetNewestPublishNumberrn(rn @currentDate datetimern)rnRETURNS nchar(7)rnASrn BEGINrn declare @MaxNumber nchar(7)rn select @MaxNumber = Max([PublishNumber]) rn from dbo.[Publishes] rn--@@rn --中间部分省略,就是根据年份计算一个最大的编号rnrn RETURN dbo.IntToFixedLengthString(@Year, 4) + dbo.IntToFixedLengthString(@Order, 3)rn ENDrnrnGOrn--*************************************************************************rnrn存储过程SetPublishNumber的执行总能成功吗?rnrnsql server中不同连接中的sql命令最终是排队在同一个线程中执行呢?还是每个连接分配一个线程并发执行?rnrn如果是并发执行,假设两个并发的连接A和B同时执行存储过程SetPublishNumber,当A执行到位置--@@时,由于线程切换,运行A的线程被停止;接着运行B的线程开始执行,B能执行select @MaxNumber = Max[PublishNumber])from dbo.[Publishes] 这条语句吗?rnrn谢谢rnrn
并发问题????
tryrn dim da As SqlDataAdapter = New SqlClient.SqlDataAdapterrn da.InsertCommand = cmdrn da.InsertCommand.ExecuteNonQuery()rnrnCatch dbcx As DBConcurrencyExceptionrn messagebox.show("并发error")rnend tryrn以上代码想解决并发问题,不过不行,必须得用acceptchange方法吗?rnda.update(ds) 方法不好用,记录插不进去,有什么好方法,谢谢!!!!rn
并发。。。!!! 并发。。。!!!
我的数据帮定操作,遇到一个奇怪的问题,只有一行编辑的时候,保存没有问题,然后我再编辑,再保存就会出现并发错误,但重新打开窗口,不管怎样进行编辑都不会出现问题了!
多个事务并发运行时的并发问题
第一类丢失更新:撤销一个事务时,把其它事务已提交的更新数据覆盖.第二类丢失更新:不可重复读中的特例,一个事务覆盖另一事务已提交的更新数据.脏读:一个事务读到另一事务未提交的更新数据.幻读:一个事务读到另一事务已提交的新插入的数据.不可重复读:一个事务读到另一个事物已提交的更新数据....
解决HashMap并发问题
1 如上图:在HashMap的官方文档中已经指出,为了避免并发问题,需要使用Map m = Collections.synchronizedMap(new HashMap(...));的方式来实例化HashMap。否则可能会导致非同步访问。 2 使用ConcurrentHashMap。
AFNetworking+GCD处理并发问题
我们在编程的时候会经常会出现这样的需求:同时请求几个接口回调成功以后在统一刷新UI,解决这个问题的方法有很多今天我们就说明下GCD下解决的方式。 GCD的leave和enter  我们利用dispatch_group_t创建队列组,手动管理group关联的block运行状态,进入和退出group的次数必须匹配。 //1.创建队列组 dispatch_group_t group = d
网络编程的并发问题
风吹山岗 2016-05-29 1.      在socket与serversocket之间收发流有getInputStream()和getOutputStream() 两个类socket、serversocket 三个方法:accept(),getInputStream()和getOutputStream()   在socket中,一般getInputStream()和get
多线程编程(二)——并发问题
一、首先看下面一个例子:       已知车票售卖系统中有1000张车票,有3个售票点在随机售卖,请模拟出这3个售票点卖出这些车票的过程。 根据以上题目,编程如下: /** * 模拟3个售票点,共同卖出1000张票 * */ public class Test1 { public static void main(String[] args) { SellTicket st
Connection并发问题
[code=&quot;java&quot;] Connection lock = getConnection(); lock.setAutoCommit(false); lock.createStatement().execute(&quot;select * from zhaojianyong for update&quot;); final Connection connection = getConnection()...
并发问题---逻辑混乱
并发时候出现的问题
数据并发存在的问题
数据并发存在的事务问题1.脏读2.不可重复读3.幻想读4.第一类丢失更新5.第二类丢失更新 1.脏读 A事务读取到B事务尚未提交的更改数据,并在这个数据的基础上进行操作。如果恰巧B事务回滚,那么A事务读到的数据根本是不被承认的。 2.不可重复读 不可重复读是指A事务读取了B事务已经提交的更改数据。假设A在取款事务过程中,B往账户转了100元,A两次读取账户的余额发生不一致。 3.幻想读 A事务读取...
Redis处理并发问题
一、前提: 现有两张表: product商品表: userorder订单表: 现有抢购活动: package com.product.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation....
1.9python并发问题
#python解决并发问题(用多线程)(JAVA基于对象的多线程) #1.使一段代码具有多线程的能力 ---(开启多线程) #2.Runnable --run() --start() #python更直接,更简单,功能弱 #Python有两种实现多线程的方式(一种走底层,一种走对象) #python每个线程都有他自己的一组cpu寄存器(直接占用了cpu) #python线程分为两种:1.内核线...
并发事务所导致的问题
•当同一个应用程序或者不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意外的问题 •并发事务所导致的问题可以分为下面三种类型: –脏读: 对于两个事物 T1, T2, T1 读取了已经被 T2 更新但 还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的. –不可重复读:对于两个事物 T1, T2, T1 读取了一个字段, 然后 T2 更新了...
进程并发的问题
用MFC做的操作系统的课程设计,进程并发 生产者消费者
数据并发问题
数据并发问题数据并发数据并发问题问题
关于并发问题
假如说有一张表,只有一个字段,A来读的时候是4,要求读完之后把这个字段的值修改成5,那B来读的时候就是5。rn那会出现这种情况么,就是同时有10个人来读数据库,读到的都是4。。。rnrn这就是并发问题,大侠能写出个多线程证实么?
存储过程并发问题
现有一表tablecode,里面有字段rnid codenumber(号码) isly(是否领用)rn1 001 0 rn2 002 0rn3 003 0rn4 004 0rn rn李四要读取去到最小的数据:select min(id) from tablecode where isly = 0 得到 id是 1rnrn现在又张三也要读取最小的数据:我现在想把李四读取的id是1的给锁定,让张三读取到id 是2的那一行rnrn注意现在都是执行的查询功能 不能更新里面的isly(是否领用字段)字段rn我就想在查询的时候锁定rn请问高手给我解决一下 rn
spring多数据源的并发问题
在多数据源的状况下,用AbstractRoutingDataSource来不段的改变datasource,由于spring的类默认都是单类,rn在多并发的情况下,会不会出现错误吗?rn好比当前用户刚setDataSource(1)是去拿connection 时候,第二个用户又setDatasource(2) 这个时候就会出现数据存储错误的情况 , 请问高手会不会出现这种情况。
socket 通讯 并发 问题
客户端通过socket与主机进行通讯,如果多个用户同时向主机发送数据,则返回结果是错误的,网上查了一些资料,说是数据并发的问题,现在我改怎样改进,才能不致数据错误。rn服务端是UNIX C,客户端是vb.net,现把客户端代码贴出来,大家看我看下,该如何改进,才能满足要求。rn客户端代码:rnrn[code=VB.NET]rnPublic Class StateObjectrn 'SOCKET IDrn Public workSocket As Socket = Nothingrn '可接收数据大小rn Public Const BufferSize As Integer = 1024 * 512rn 'Public Const BufferSize As Integer = 1024rn '接收数据缓冲区rn Public buffer(BufferSize) As Bytern '接收数据rn Public sb As New StringBuilderrnEnd ClassrnrnPublic Class ESA_TCP_CLIENTrnrn '处理结果rn Public Enum ExSocketStatern ExSocketSucceed = 0 '处理成功rn ExSocketNoConnect = 1 '主机无连接rn ExSocketUnKnown = 2 '未知状态(主机未响应)rn ExSocketAllUsed = 3 '无可用端口(没有空闲状态的端口)rn End Enumrnrn Private connectDone As New ManualResetEvent(False)rn Private sendDone As New ManualResetEvent(False)rn Private receiveDone As New ManualResetEvent(False)rn Private response As String = String.Emptyrnrn '超时时间(毫秒)rn Private iTimeOutM As Integerrn Private isConn As Boolean = Falsernrn Public Function SendTo(ByVal strHostIP As String, _rn ByVal iPort As Integer, _rn ByVal iTimeout As Integer, _rn ByVal strSend As String, _rn ByRef strRecv As String, _rn ByVal Merch_ID As String, _rn ByVal ULNm As String) As ExSocketState '增加Merch_ID,ULNm zfy 2011-1-6 用于生成Merch_ID.txt文件rn On Error GoTo go_Errrn Dim ipHostInfo As IPHostEntry = Dns.GetHostEntry(strHostIP)rn Dim ipAddress As IPAddress = ipHostInfo.AddressList(0)rn Dim remoteEP As New IPEndPoint(ipAddress, iPort)rn Dim client As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)rn strRecv = ""rn If iTimeout > 0 And iTimeout < 200000 Then '1000000rn iTimeOutM = iTimeoutrn Elsern iTimeOutM = 5000 '5000rn End Ifrn SendTo = ExSocketState.ExSocketUnKnownrn client.BeginConnect(remoteEP, New AsyncCallback(AddressOf ConnectCallback), client)rn Dim s2 = Now()rn If connectDone.WaitOne(iTimeOutM, False) = True Thenrn If isConn = True Thenrn Send(client, strSend, Merch_ID, ULNm) '增加Merch_ID zfy 2011-1-6 用于生成Merch_ID.txt文件rn If sendDone.WaitOne(iTimeOutM, False) = True Thenrn If isConn = True Thenrn '由于测试中出现异步通讯时接收主机报文有报文不完整情况rn '所以在此处修改为在连接、发送时采用异步方式,而接收数据时采用同步方式rn '此处还需要考虑同步接收的超时机制,暂略rn Dim state As New StateObjectrn state.workSocket = clientrn If Receive(state, Merch_ID, ULNm) Then '增加Merch_ID,ULNm zfy 2011-1-6 用于生成Merch_ID.txt文件rn 'If Receive() Thenrn strRecv = state.sb.ToString()rn If strRecv.Length > 10 Thenrn strRecv = strRecv.Substring(10, strRecv.Length - 10)rn Elsern strRecv = ""rn End Ifrn SendTo = ExSocketState.ExSocketSucceedrn Elsern SendTo = ExSocketState.ExSocketUnKnownrn End Ifrn Elsern SendTo = ExSocketState.ExSocketUnKnownrn End Ifrn Elsern SendTo = ExSocketState.ExSocketUnKnownrn End Ifrn Elsern SendTo = ExSocketState.ExSocketNoConnectrn End Ifrn Elsern SendTo = ExSocketState.ExSocketNoConnectrn End Ifrngo_Exit:rn If client.Connected = True Thenrn client.Shutdown(SocketShutdown.Both)rn End Ifrn client.Close()rn Exit Functionrngo_Err:rn GoTo go_Exitrn End Functionrnrn Private Sub ConnectCallback(ByVal ar As IAsyncResult)rn On Error GoTo go_Errrn Dim client As Socket = TryCast(ar.AsyncState, Socket)rn If client IsNot Nothing Thenrn client.EndConnect(ar)rn isConn = client.Connectedrn Elsern isConn = Falsern End Ifrn connectDone.Set()rngo_Exit:rn Exit Subrngo_Err:rn isConn = Falsern connectDone.Set()rn GoTo go_Exitrn End Subrnrn Private Function Receive(ByRef state As StateObject, ByVal Merch_ID As String, ByVal ULNm As String) As Boolean '增加Merch_ID,ULNm zfy 2011-1-6 用于生成Merch_ID.txt文件rn On Error GoTo go_Errrn Dim readStream As New NetworkStream(state.workSocket)rn Dim blnReturn As Boolean = Falsern Dim intRcv As Integerrn Dim strTmp As String = ""rn state.buffer.Clear(state.buffer, 0, StateObject.BufferSize)rn readStream.ReadTimeout = iTimeOutMrn intRcv = readStream.Read(state.buffer, 0, StateObject.BufferSize)rn Do While intRcv > 0rn strTmp = Encoding.Default.GetString(state.buffer, 0, intRcv)rn state.sb.Append(strTmp)rnrn If ConfigurationManager.AppSettings("g_IsDebug") = "1" Thenrn Dim FileToWrite As System.IO.FileStream = System.IO.File.Create("D:\程序\ESA_OPR_New\debug\Receive" + Merch_ID + "_" + ULNm + ".txt")rn Dim rByte() As Byte = Encoding.Default.GetBytes(state.sb.ToString.ToCharArray)rn FileToWrite.Write(rByte, 0, rByte.Length)rn FileToWrite.Close()rn FileToWrite = Nothingrn End Ifrnrn '不按照报文头字符长度来取报文体字段,因为在测试中发现WINDOWS与UNIX在中文和特殊字符的长度判断上不相同rn '所以采用查找结束符号的方式来判断报文尾rn If InStr(strTmp, "") > 0 Thenrn Exit Dorn Elsern state.buffer.Clear(state.buffer, 0, StateObject.BufferSize)rn intRcv = readStream.Read(state.buffer, 0, StateObject.BufferSize)rn End Ifrn Looprn blnReturn = Truern readStream = Nothingrngo_Exit:rn Return blnReturnrn Exit Functionrngo_Err:rn blnReturn = Falsern GoTo go_Exitrn End Functionrnrnrn Private Sub Send(ByVal client As Socket, ByVal data As String, ByVal Merch_ID As String, ByVal ULNm As String) '增加Merch_ID,ULNm 2010-1-6 zfyrn On Error GoTo go_Errrnrn '2011-7-14 解决中文字符编码数量问题rn Dim strLen As Integerrn For n = 1 To data.Lengthrn If AscW(Mid(data, n, 1)) > 256 Then strLen = strLen + 2 Else strLen = strLen + 1rn Nextrn data = Format(strLen, "0000000000") & datarn If ConfigurationManager.AppSettings("g_IsDebug") = "1" Thenrn Dim FileToWrite As System.IO.FileStream = System.IO.File.Create("D:\程序\ESA_OPR_New\debug\Send" + Merch_ID + "_" + ULNm + ".txt")rn 'Dim rByte() As Byte = Encoding.Default.GetBytes(data.ToCharArray)rn Dim rByte() As Byte = Encoding.Default.GetBytes(data.ToCharArray)rn FileToWrite.Write(rByte, 0, rByte.Length)rn FileToWrite.Close()rn FileToWrite = Nothingrn End Ifrnrn Dim byteData As Byte() = Encoding.Default.GetBytes(data) '2011-7-15 zfy 解决报文发送乱码问题rn client.BeginSend(byteData, 0, byteData.Length, 0, New AsyncCallback(AddressOf SendCallback), client)rngo_Exit:rn Exit Subrngo_Err:rn GoTo go_Exitrn End Subrnrn Private Sub SendCallback(ByVal ar As IAsyncResult)rn On Error GoTo go_Errrn Dim client As Socket = TryCast(ar.AsyncState, Socket)rn If client IsNot Nothing Thenrn isConn = Truern Dim bytesSent As Integer = client.EndSend(ar)rn Elsern isConn = Falsern End Ifrn sendDone.Set()rngo_Exit:rn Exit Subrngo_Err:rn isConn = Falsern sendDone.Set()rn GoTo go_Exitrn End SubrnrnEnd Classrnrnrn[/code]
求助并发输出流问题
最近做了一个模块,遇到并发问题瓶颈,求助各位大侠是否能提供帮助。rnrn从数据库中查询,得到一个string类型的变量,然后调用输出流写,用的outputstream。再调用flush方法。rnrn最后把流写到网络上。rnrn现在的关键问题就是写到网络上非常慢,在并发的时候,指标不达标。用简单的java类模拟场景,并发写输出流rnrn花费的时间大约是模块中并发时间的八分之一。rnrnrn各位有什么高见啊?希望各位大侠指点指点啊
分布式并发问题
如图所示:rn[img=http://img.my.csdn.net/uploads/201209/06/1346898482_7909.png][/img]rn例如某公司共生产了100台电脑,找了三个一级代理商(A1、A2、A3)帮其销售,而A1、A2、A3又分别找其自己的二级代理商帮其销售(B1、B2、B3、B4、B5),rnB1、B2、B3、B4、B5又找其三级代理商帮其销售(C1、C2、C3、C4),D1、D2……代表消费者,ABCD之间的关系由图中箭头所示。rnrn每个代理商可以销售的最大值分别是图例中所标示的值,但每个代理商销售的总和不能超过其上级所表示的值(即:A1的实际销售量+A2的实际销售量+A3的实际销售量<=100,B1的实际销售量+B2的实际销售量<=A1(80))rn,其余级别同理,但每个代理商的最大销售量可以修改(增加或减小)rnrn场景一:rnD1购买20台电脑,则C1剩余20,B1剩余40,A1剩余60,厂家剩余80,此时A2直接向厂家订购90台,则会提醒货源不足,同理此时如果D2购买30台,因为C1最多还会卖20台,所以也会提示D3货源不足。rnrn场景二:rnrnB2直接从A1购买60台,则A1最多在再卖20台,经销商剩余40台,此时若D1购买30台,则会提示货源不足(因为A1最多只能在卖20台),同理B3购买50台也会提示货源不足(因为经销商还剩下40台)rnrn场景三:rnrnD1,D2,D3购买电脑的同时,减少A1的最大销售量,降为70,此时程序该如何控制,如何保证同步rnrnrn现在伪码如下rn[code=Java]rn//购买电脑rnpublic void buyComputer(User buyer)rn int buyCount = buyer.getBuyCount();//用户要购买的电脑台数rnrn boolean flag = isCouldBuy();//递归判断上级剩余量是否还够可以购买的方法rn rn if(flag)//表示可以购买rn rn lock.lock();rn 购买电脑,递归修改其上级的最大购买量rn 更新数据到数据库rn lock.unlock();rn rn elsern 提示货源不足rn rnrn//修改最大值rnrnpublic void updateMax(User user , int max)rn user.setMax(max);rn updateUser();//更新数据库rnrnrnrnrn[/code]rnrn---------------------------------------------------------------------------------rnrn问题一:如上述三个场景:在分布式环境下如何处理?rnrn问题二:多人同时购买(如D1,D2,D3),是不是要互斥的执行?有没有其它更优方法?rnrn问题三:如果是多线程,spring事务该如何控制?rnrn欢迎探讨 谢谢!
wcf并发问题
wcf服务的代码[code=csharp] [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession,ConcurrencyMode=ConcurrencyMode.Multiple)]rn public class Service1 : IService1rn rn public string GetData(int value)rn rn JBEModel.Comm.log("调用时间:" + DateTime.Now + " " + value, JBEModel.LogType.WcfLogin);rn System.Threading.Thread.Sleep(10000);rn return string.Format("You entered: 0", DateTime.Now + " :" + value);rn rn [/code]rn客户端调用的代码rn [code=csharp]protected void Page_Load(object sender, EventArgs e)rn rn ServiceReference.Service1Client client = new Service1Client();rn Response.Write(client.GetData(3));rn rn [/code]rnrn现在同时打开多个客户端页面一一刷新rn2012/11/22 02:50:18 调用时间:2012/11/22 14:50:18 3rn2012/11/22 02:50:28 调用时间:2012/11/22 14:50:28 3rn2012/11/22 02:50:38 调用时间:2012/11/22 14:50:38 3rn2012/11/22 02:50:48 调用时间:2012/11/22 14:50:48 3rn2012/11/22 02:50:58 调用时间:2012/11/22 14:50:58 3rn2012/11/22 02:51:08 调用时间:2012/11/22 14:51:08 3rn2012/11/22 02:51:18 调用时间:2012/11/22 14:51:18 3rn为什么不能并发?rn[url=http://files.cnblogs.com/smailxiaobai/ConsoleApplication1.rar]demo在这[/url]rn
关于ice的并发问题
遇到了一个关于ice的并发问题,由于代码具有机密性不好贴上来,望各路高手懂这个的指教一下。
oracle 并发问题??
我现在有1至20 个客户端要访问oralce 数据一的同一张表 假设表为arnrn但客户端是java写的程序 rnrn每个程序是要做的是从a中取出一条数据去处理,并修改下这条数据的状态rnrn怎么防止客户端取到同一条数据,重复处理rnrn用java 同步已经不可能,因为是多个JVM,没办法 控制同步rnrn在数据库方面有什么方法rnrn我想到的是select ...for update rn但用这个,假设一个客户端在处理取,另一个客户端也能取到同样的记录rn???rn有什么好方法rnrn
数据库并发问题
比较简单的问题 关于数据库rn一直没想明白,,我知道数据库里有并发控制的机制,但 如果有两个 会话 同时修改 同一个数据,这个时候 数据库会怎么做,它把哪个排前面 哪个排后面。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/32.gif][/img]
delphi socket 并发问题
我要在delphi 上写个socket 服务程序,如何才能实现并发,同时接受客户端的多个信息,尽量不要线程,我更不懂,能有具体实例再好,谢谢大家
3000人并发问题
在做一个考试系统,遇到两个问题rnrnLNMP环境 N是nginx - - 双路四核,2G内存。500G*2做了RAID 10M共享带宽rnrn1. 3000人在同一时刻进入考场,下载图片试题(10道题 每题10K)还有其他的图片什么的,会有什么瓶颈? webServer? CPU? 内存?带宽?rn2. 3000人同时提交试卷,答题信息写入数据库,会有什么样的瓶颈? 带宽? 数据库?rnrn没有概念 不知道会出现什么样的问题 请教下各位高手 指点一二
Package 并发问题
现有后台程序 按设定频率调度数据库A上诸多存过 调度以多线程模式进行rn诸存过均处于同一PACKAGE内,程序启动后 存过调度主线程无异常 rn存过执行则是以串行方式执行 只有当前存过执行完成后 才能继续执行下一存过rnrn问题:PACKAGE可否实现并发执行操作【PACKAGE中无公用对象 各存过单独使用各自资源】?rnrn注 :程序通过JDBC进行数据库连接及相关调度操作 conn.setAutoCommit(true);
epoll并发问题
epoll能并发连接,能并发处理客户端的业务数据么?
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数