首页 新闻 搜索 专区 学院

如何处理并发

0
悬赏园豆:40 [已解决问题] 解决于 2018-11-29 10:11

PacketHandler(); //包含了所有执行程序

PacketHandler 最终输出要调整的url,里面进行了N多判断,发现用2个进程测试,程序奔溃。

 

private static object asyncLock_1 = new object();

Thread thread1 = new Thread(new ThreadStart(PostTest1));
Thread thread2 = new Thread(new ThreadStart(PostTest1));
thread1.Start();
thread2.Start();
thread1.Join();
thread1.Join();

 

 1 protected void PostTest1()
 2         {
 3             lock (asyncLock4)
 4             {
 5                 //遍历用户表进行测试
 6                 DataTable dt = SqlHelper.GetDataTable(CommandType.Text, txtSql.Text, null);
 7                 if (dt != null)
 8                 {
 9                     for (int i = 0; i < dt.Rows.Count; i++)
10                     {
11                         PacketHandlert(int.Parse(txt1.Text.Trim()), int.Parse(dt.Rows[i]["Uid"].ToString()), int.Parse(dt.Rows[i]["groupId"].ToString()));
12                     }
13                 }
14             }
15         }
众里寻它的主页 众里寻它 | 初学一级 | 园豆:2
提问于:2015-04-24 17:26
< >
分享
最佳答案
0

处理并发无法就是锁,原子操作,单队列

收获园豆:25
吴瑞祥 | 高人七级 |园豆:29287 | 2015-04-24 22:39
其他回答(1)
0

建议先注释PacketHandlert的调用,看会不会崩溃?

收获园豆:15
dudu | 园豆:37078 (高人七级) | 2015-04-24 18:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册