Eabei.GoBangGame/Eabei.GoBangService/Data/DataThread.cs
(完整代码) 1KBusing System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/********************************
* 命名空间: Eabei.GoBangGame.Data
*
* 功 能: N/A
* 类 名: DataThread
*
* 作 者: EB
* 创建日期: 2022/6/28 17:38:30
*********************************/
namespace Eabei.GoBangService.Data
{
/// <summary>
/// 提供数据异步处理机制
/// </summary>
/// <typeparam name="TData">提供一种任意的数据类型</typeparam>
public class DataThread<TData> : IData<TData>
{
private ConcurrentQueue<TData> dataQueue = new();
private bool running = false;
public event Action<TData> DataThreadCallback;
public void Start()
{
running = true;
//ThreadPool.QueueUserWorkItem(o => DataDequeueThread());
Task.Run(() => DataDequeueThread());
}
public void Enqueue(TData data)
{
dataQueue.Enqueue(data);
}
public void Stop()
{
running = false;
}
private void DataDequeueThread()
{
while (running)
{
if (dataQueue.TryDequeue(out TData data))
DataThreadCallback?.Invoke(data);
Thread.Sleep(10);
}
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。