专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
网站建设
>
技术支持
> C#排队处理DEMO
C#排队处理DEMO
来源:网络整理 时间:2023/2/14 0:41:41 共
3648
浏览
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace TestWait
{
class Program
{
public static Queue<Proccess> QueueMessage = new Queue<Proccess>();
static int count = 15;//只有15张票
static void Main(string[] args)
{
StartProccess();
//模拟并发 20个人同时买票
for (int i = 0; i < 20; i++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback ((o)=>{
string index = (string)o;
Bay(index);
}),"客户端"+i);
}
Console.ReadKey();
}
//购买服务
static bool Bay(String val)
{
Proccess p = new Proccess();
p.val = val;
p.ManualReset = new ManualResetEvent(false);
//lock (QueueMessage)
{
QueueMessage.Enqueue(p);//消息入列
Console.WriteLine("入列:" + val);
}
WaitHandle.WaitAll(new WaitHandle[] { p.ManualReset });//等待处理完成
return p.Result;
}
//启动处理线程
static void StartProccess()
{
ThreadPool.QueueUserWorkItem(new WaitCallback(ProccessThread));
}
//处理线程
static void ProccessThread(Object obj)
{
while (true)
{
if (QueueMessage.Count > 0)
{
Proccess message = QueueMessage.Dequeue();
if (count <= 0)
{
message.Result = false;
Console.WriteLine("处理失败:" + message.val);
}
else
{
message.Result = true;
Console.WriteLine("处理成功:" + message.val);
}
count--;
if (message.ManualReset != null)
message.ManualReset.Set();
}
else
{
//如果没有消息 停止3s
Thread.Sleep(3000);
}
}
}
}
class Proccess{
public ManualResetEvent ManualReset
{
get;
set;
}
public bool Result
{
get;
set;
}
public String val
{
get;
set;
}
}
}
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
湖北有哪些体彩网站公司
湖北科技公司转让平台网站
河北有限公司注册网站查询
青银分公司网站地址查询
杭州网站建设咨询公司排名
利州区网站建设推广公司
容县电力公司缴费网站查询
机械定制网站公司名称
航运公司网站设计流程规范
安庆网站营销公司排名前十
·上一条:
清除浏览器input中缓存
|
·下一条:
C#中sealed关键字
同类资讯
关于XML接口DOM的描述_CSS学习
请推荐几个可在Linux命令行中使用的Markdown工具_CSS学习
有没有什么好的清理垃圾软件_CSS学习
html怎么把文字分为一行一行的_CSS学习
怎么将XML转换成HTML文件_CSS学习
你认为具备什么技能和水平才算是合格的渗透测试工程师_CSS学习
word怎么缩磅_CSS学习
u盘ntfs无法完成格式化怎么回事_CSS学习
mac免费版是不是满足基础漫画绘图了_CSS学习
怎么用电脑录制户外视频_CSS学习
如何在html中禁止文字的复制_CSS学习
裁剪是什么意思_CSS学习
银行打印单据的字体是什么字体_CSS学习
如何识别字体类型和大小_CSS学习
hbuilder插入css代码后没用为什么_CSS学习
扩频的介绍是什么_CSS学习
荣耀手机悬浮标签怎么弄出来_CSS学习
jetwebstore界面怎么变成黑色_CSS学习
web文档怎么转化为wenxml_CSS学习
letter网页设计怎么用_CSS学习
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州京杭网络科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com