c# 多线程 执行顺序

需求描述:用一个线程池处理读取到的文件信息,但是 while 之后有一块代码始终没有走不知道为什么?

代码:

 public static void ListLine()
        {
            using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read))
            {
                fs.Position = position;
                using (StreamReader sr = new StreamReader(fs, Encoding.UTF8))
                {
                    string line = string.Empty;
                    List<string> listStr = new List<string>();
                    AnalyticalArithmetic analytickal;
                    while ((line = sr.ReadLine()) != null)
                    {
                        if (listStr.Count == 100)
                        {
                            analytickal = new AnalyticalArithmetic();
                            analytickal.listStr = listStr;
                            ThreadPool.QueueUserWorkItem(analytickal.test);
                            listStr = new List<string>();
                        }
                        listStr.Add(line);
                    }
                    //断点未到达这里
                    analytickal = new AnalyticalArithmetic();
                    analytickal.listStr = listStr;
                    ThreadPool.QueueUserWorkItem(analytickal.test);
                    position = fs.Length;
                }
            }

        }
阅读 3.4k
1 个回答

经过仔细调戏,数据库链接池中连接数满了,没有做连接释放

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进