专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> C#排队处理DEMO
C#排队处理DEMO
来源:网络整理 时间:2023/2/14 0:41:41 共
3652
浏览
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关键字
同类资讯
如何关闭或启动mysql服务_数据库
mysql表分区查询数据,MySQL数据库能大量储存数据的原理是什么_数
学linux运维怎么样_数据库
查询近10年mysql,Mysql查询连续签到天数_数据库
阿里巴巴的云计算起什么作用_数据库
mysql连接查询效率,如何通过优化sql语句提高数据库查询效率_数据库
mysql 行锁 查询,update锁行怎么解决_数据库
mysql递归查询写法,我适合学Java吗_数据库
mysql 查询条件顺序,mysql中的慢查询会不会影响速度_数据库
做前端开发主要学些什么_数据库
mysql查询记录数量,Mysql实时备份实现方法_数据库
mysql 查询分区语句,零基础学习java_数据库
mysql 查询数据相加,MYSQL怎么实现两个表求和相减求这样的SQL
使用mysql作为数据库_数据库
mysql查询排除字段,如何让mysql的表名_数据库
mysql查询所有列,如何设置mysql数据库列内容区分大小写_数据库
mysql 索引情况查询,mysql设置主键还要设置索引吗_数据库
现在软件行业还像几年前那么火吗_数据库
mysql查询当月统计,该怎么选择合适自己的云虚拟主机_数据库
mysql 查询结果行数,MySQL中的行级锁表级锁页级锁_数据库
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com