.net multi Thread demo
来源:互联网 发布:德州软件开发 编辑:程序博客网 时间:2024/04/30 14:45
static object forSync = new object();
private static int connectionCount = 0;
public static int processedMatchCount = 0;
for (int i = 0; i < totalPostCount; i += _getRowCount)
{while (true)
{
int startIndex = i;
Thread processMatch = new Thread(() => updatePostByReMatch(reMatchCodeId, startIndex));
lock (forSync)
{
if (connectionCount > _maxThreadCount)
{
Thread.Sleep(1000);
}
else
{
lock (forSync)
{
connectionCount += 1;
}
processMatch.Start();
break;
}
}
}
}
public void updatePostByReMatch(int reMatchCodeId, int startIndex)
{
using (var db = new InstagramDataEntities())
{
var data = db.Database.SqlQuery<DataFromPostIdWithIdentity>(
"exec GetDataFromPostIdWithIdentity @StartWith,@Count",
new SqlParameter("StartWith", startIndex), new SqlParameter("Count", _getRowCount)).ToList();
foreach (var post in data)
{
var updatePostByReMatch = post.MatchIngredients();
try
{
db.Database.ExecuteSqlCommand(
"exec UpdatePostMatch @PostId,@MatchedTags,@NonMatchedTags,@ReMatchCodeId,@MatchScore",
new SqlParameter("PostId", post.PostId),
new SqlParameter("MatchedTags", updatePostByReMatch.MatchedTags??""),
new SqlParameter("NonMatchedTags", updatePostByReMatch.NonMatchedTags??""),
new SqlParameter("ReMatchCodeId", reMatchCodeId),
new SqlParameter("MatchScore", updatePostByReMatch.MatchScore));
processedMatchCount++;
}
catch (Exception ex)
{
log.Error(ex);
continue;
}
}
lock (forSync)
{
connectionCount -= 1;
}
}
- .net multi Thread demo
- .net SemaphoreSlim multi Thread controller
- Demo Java 2 method to implement Multi-Thread
- multi-thread
- Multi-Thread
- multi thread
- [thread] multi-thread, thread attributes
- Multi-Thread Life
- WIN Multi-Thread Programe
- Thinking in Multi-thread
- About Multi-Thread
- multi thread links
- 转帖 multi thread
- Simple multi-thread worker
- Java Multi-thread Programming
- Multi-Thread 2---ThreadLocal
- 多线程Multi-Thread 基础
- 笔记:Multi-Thread
- android:inputType常用取值
- 卡耐基梅隆大学教授邢波:Petuum,大数据分布式机器学习平台
- 简单登陆判断是否为空
- IOS 广播机制与 android 广播机制对比
- Handler多线程通信例子(post和sendMessage)
- .net multi Thread demo
- android 广播大全(转)
- 理解GBDT算法(一)——理论
- Swing表格列宽自适应
- Android Studio多渠道打包(以友盟为例)
- 网站在架构时要考虑的事情
- linux驱动中时间相关问题
- 五种类型的程序员
- linux下svn服务搭建