winform中两个线程卡死的问题 线程winformthread 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把这个函数public static void startScan(Object so) 贴出来看看看,是不是访问了共享资源导致了死锁。 public static void startScan(Object so){ for (; ; ) { //检查消息条数,过多则删 CheckMsg(); //获得扫描参数 List<BjParam> Params = getParams(gid, pfid, lstGags); //循环扫描每一个服务器 foreach (BjParam param in Params) { ………… } }我跟了下 就是在获得扫描参数那行代码时卡死的,这个是访问数据库获得参数的,就在访问数据库卡死了private static List<BjParam> getParams(string gid, string pfid, List<gagsModel> lstGags) { List<BjParam> Params = new List<BjParam>(); foreach (gagsModel gags in lstGags) { string sql="……"; DataTable dt = DataBase.select(sql); if (dt!= null && dt.Rows.Count > 0) { DataRow drow = dt.Rows[0]; BjParam Param = new BjParam(); Param.PfId = Convert.ToInt32(drow["PfId"].ToString()); Param.PfName = drow["PfName"].ToString(); Param.GId = Convert.ToInt32(drow["GId"].ToString()); Param.GName = drow["GName"].ToString(); Param.GKey = drow["GKey"].ToString(); Param.GKey2 = drow["GKey2"].ToString(); Param.GKeyNew = drow["GKeyNew"].ToString(); Param.GaId = Convert.ToInt32(drow["GaId"].ToString()); Param.GaName = drow["GaName"].ToString(); Param.GaKey = drow["GaKey"].ToString(); Param.GaKeyNew = drow["GaKeyNew"].ToString(); Param.GsId = Convert.ToInt32(drow["GsId"].ToString()); Param.GsName = drow["GsName"].ToString(); Param.GsKey = drow["GsKey"].ToString(); Param.GsKeyNew = drow["GsKeyNew"].ToString(); Param.CoinKey = drow["CoinKey"].ToString(); Param.CoinKeyNew = drow["CoinKeyNew"].ToString(); Param.CoinUnit = drow["CoinUnit"].ToString(); Param.OtherUnit = drow["OtherUnit"].ToString(); Param.YPrice = Convert.ToDecimal(drow["YPrice"].ToString()); Params.Add(Param); } } return Params;}数据库操作DataBase这个类是静态的 解决了 原来database类不能是静态的,静态的话两个线程会互相影响,导致conn不停的被关闭打开,每次读取数据库,实例化一个database就不会报错了 导出csv文件,如何实现用excel打开后,身份证号显示正常? sharpziplib是不是没法对压缩文件添加新文件? 关于验证控件和JS问题 有生以来最大的难题,狂送100分 我想做一个xml生成的树,高手请指点!!!!! WebBrowser提交表单不自动跳转 C#编写与单片机的串口通讯,总是收不到数据,经过调试,执行接受数据事件之前的程序都正常。。。 UIAutomation获得表格内容 大家来看看我新做的网站怎么样? 如保判断一个字符串的值是不是数值型,是不是日期型啊?! 各位大神,求助,真的需要你们的帮助,谢谢 json数据数组的长度计算
public static void startScan(Object so)
{
for (; ; )
{
//检查消息条数,过多则删
CheckMsg();
//获得扫描参数
List<BjParam> Params = getParams(gid, pfid, lstGags);
//循环扫描每一个服务器
foreach (BjParam param in Params)
{
…………
}
}我跟了下 就是在获得扫描参数那行代码时卡死的,这个是访问数据库获得参数的,就在访问数据库卡死了private static List<BjParam> getParams(string gid, string pfid, List<gagsModel> lstGags)
{
List<BjParam> Params = new List<BjParam>(); foreach (gagsModel gags in lstGags)
{
string sql="……";
DataTable dt = DataBase.select(sql);
if (dt!= null && dt.Rows.Count > 0)
{
DataRow drow = dt.Rows[0];
BjParam Param = new BjParam();
Param.PfId = Convert.ToInt32(drow["PfId"].ToString());
Param.PfName = drow["PfName"].ToString();
Param.GId = Convert.ToInt32(drow["GId"].ToString());
Param.GName = drow["GName"].ToString();
Param.GKey = drow["GKey"].ToString();
Param.GKey2 = drow["GKey2"].ToString();
Param.GKeyNew = drow["GKeyNew"].ToString();
Param.GaId = Convert.ToInt32(drow["GaId"].ToString());
Param.GaName = drow["GaName"].ToString();
Param.GaKey = drow["GaKey"].ToString();
Param.GaKeyNew = drow["GaKeyNew"].ToString();
Param.GsId = Convert.ToInt32(drow["GsId"].ToString());
Param.GsName = drow["GsName"].ToString();
Param.GsKey = drow["GsKey"].ToString();
Param.GsKeyNew = drow["GsKeyNew"].ToString();
Param.CoinKey = drow["CoinKey"].ToString();
Param.CoinKeyNew = drow["CoinKeyNew"].ToString();
Param.CoinUnit = drow["CoinUnit"].ToString();
Param.OtherUnit = drow["OtherUnit"].ToString();
Param.YPrice = Convert.ToDecimal(drow["YPrice"].ToString());
Params.Add(Param);
}
}
return Params;
}数据库操作DataBase这个类是静态的