基线 SVN r240

SVN-Revision: r240
This commit is contained in:
cyf
2025-02-06 06:46:06 +00:00
commit ab56a9bcf7
5317 changed files with 902274 additions and 0 deletions
@@ -0,0 +1,51 @@
namespace LSServerService
{
using System;
using System.Collections.Generic;
using System.Threading;
internal static class LSQueueManage
{
private static Queue<LSSocketRev> LSSocketRevQueue = new Queue<LSSocketRev>();
private static AutoResetEvent Rev_Event = new AutoResetEvent(true);
public static LSSocketRev GetSocketRevData()
{
LSSocketRev socketRevData = null;
if (LSSocketRevQueue.Count > 0)
{
lock (LSSocketRevQueue)
{
socketRevData = LSSocketRevQueue.Dequeue();
}
}
else
{
Rev_Event.WaitOne();
}
if (socketRevData == null)
{
socketRevData = GetSocketRevData();
}
return socketRevData;
}
public static void InsertSocketRevData(LSSocketRev socketRev)
{
lock (LSSocketRevQueue)
{
LSSocketRevQueue.Enqueue(socketRev);
}
Rev_Event.Set();
}
public static int LSSocketRevQueueCount
{
get
{
return LSSocketRevQueue.Count;
}
}
}
}