解决方案 »
- 字符串拆解方案求解
- 裝了 SharpDevelop 後,需要裝 Mono 2.8 嗎?
- winform 的 问题 ?
- 水晶报表:在我的机器上预览正常(发票的大小),在其他机器上预览是A4大小
- 能不能举几个泛型最简单的例子?
- Rectangle怎么用那?
- 一个简单的问题:.net开发环境的标题栏怎么复原的问题,顶者有分!
- 求助,添加连接出错?
- 像素和毫米转换问题?1像素=?毫米;1毫米=?像素????(主即给分)
- 如何能加速用C#做的程序的启动速度??
- C# 操作spatialite 空间数据库 问题。
- 可以把整个win form application做成另外一个程序里的tab control吗
不要说你那100个,我这里工作流最大任务时有1万个在运行的工作流,用线程都可以很好的解决.
最简单的调用如下:(若要深入请参考相关资料)System.Threading.ThreadPool.QueueUserWorkItem(new WaitCallback(obj =>
{
//你的代码
}));
建议你去研究一下APM(Asynchronous Programming Model),这是一个链接:
http://msdn.microsoft.com/en-us/magazine/cc163467.aspx
你提的非阻塞方式倒是可以考虑,只是这个是对每个摄像头的是这样的,可以不用等别的摄像头等完成再登录,但是这里除了14秒内要给100个摄像头发送请求,CPU还要处理文件切断操作(比如每个30分钟生成一个文件,如果掉线我必须切断生成的文件,重新开始新的录制),还要处理网络断线重连等操,所以我觉得两个线程是不够的。
如果用传统ip cam的话,那么就直接开100个线程取流后缓冲到一定数量后写磁盘
高级方法就不提了,以免你走火入魔
假如你要处理上万个TCP在线连接,你是不是打算开上万个线程
我不知道你用的什么协议
之前我也有处理过这种问题 一般线程不会太多 可以开一个线程专门维持链路 或者用tcp自带的异步去处理一下如果心跳包没了 直接销毁连接就行了