消息队列的问题,高手请进!!

weiqj8686 2008-12-18 04:07:20
我这边写了一个程序 AA.exe 该程序用来处理,图片的压缩的问题。有这样的场景 D:\images 下有很多用户不断传来大的图片,AA.exe来处理这些图片,可能不能马上处理,于是想到用消息队列来排队用AA.exe来处理.问写怎样的程序?用C#来做.

谢谢!!!
...全文
148 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
laidon 2008-12-23
  • 打赏
  • 举报
回复
用队列就是了
可不是消息队列噢
意思是这样的
用一个队列来保存并更新当前的没有处理的图片
如果处理完成一个就从队列中消除一个
....
品铭工作室 2008-12-23
  • 打赏
  • 举报
回复
System.EnterpriseServices这里有现有的,
flyjimi 2008-12-19
  • 打赏
  • 举报
回复
队列就行了,哪里用的上MQ。

所有用户发来的文件,存到D:\images ,同时把路径记录在一个公用的队列中。
你的处理程序从队列取出来逐个处理。

既然是很多大的图片,建议不要直接存图片在队列,只是记录路径就好了。
Deathsign 2008-12-19
  • 打赏
  • 举报
回复
就是一个队列。。。。。
FCFS。。。。。。
aimeast 2008-12-19
  • 打赏
  • 举报
回复
严重的MARK
xiaowen01 2008-12-19
  • 打赏
  • 举报
回复
不需要用消息队列,
用一个线程来不断检测新文件的到来,来了就放到一个队列中,
另一个线程处理队列中的文件。
处理过的可以删除,如果需要保留的话还要做标记用以区分是否处理过。
guokea 2008-12-18
  • 打赏
  • 举报
回复
up
yuloukong 2008-12-18
  • 打赏
  • 举报
回复
1,声明变量
//当前待处理的图片
private BitMap _currentMap;
//待处理的图片队列
private Queue<BitMap> _newMap;

2,初始化
protected void Init()
{
if (this._newMap== null)
this._newMap= new Queue<BitMap>();
else
this._newMap.Clear();
_currentMap=null;
}
3,将待处理的图片放到队列中
4,处理图片的方法添加代码
if(_newMap.count>0)
_currentMap=_newMap.Dequeue();//移除并返回队列开始处的对象
if(_currentMap!=null)
{//处理图片
}

思路就是这样了,自己修改吧......
yuloukong 2008-12-18
  • 打赏
  • 举报
回复
1,声明变量
//当前待处理的图片
private BitMap _currentMap;
//待处理的图片队列
private Queue<BitMap> _newMap;

2,初始化
protected void Init()
{
if (this._newMap== null)
this._newMap= new Queue<BitMap>();
else
this._newMap.Clear();
_currentMap=null;
}
3,将待处理的图片放到队列中
4,处理图片的方法添加代码
if(_newMap.count>0)
_currentMap=_newMap.Dequeue();//移除并返回队列开始处的对象
if(_currentMap!=null)
{//处理图片
}

思路就是这样了,自己修改吧......
yhy0611 2008-12-18
  • 打赏
  • 举报
回复
你这个用得着消息列队吗?
weiqj8686 2008-12-18
  • 打赏
  • 举报
回复
很好,如何做?
一游 2008-12-18
  • 打赏
  • 举报
回复
消息队列没有用过,不过我用过自己写的队列

无外乎是一个线程接收数据,压入队列,另一线程处理数据

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧