c#多线程处理问题

leeshuiwua 2013-06-22 09:24:25
新建多个线程进行读取数据库,怎么实现多线程并发读取数据库信息啊?
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
leeshuiwua 2013-06-22
  • 打赏
  • 举报
回复
先谢过各位大虾啦
leeshuiwua 2013-06-22
  • 打赏
  • 举报
回复
 private void StartRead(int num)
        {
            for (int i = 0; i < num; i++)
            {
                Thread t = new Thread(new ThreadStart(Read));
                t.Name = "Read_" + (i + 1);
                t.Start();
            }
        }
   /// <summary>
        /// 读取数据
        /// </summary>
        private void Read()
        {
            //DateTime date1 = DateTime.Now;
            int i = 0;
            int length = encrypt.GetCleanInfCount(textBox2.Text, textBox1.Text);
            while (10000 * i + 1 <= length)
            {
                TaskInfo Task = new TaskInfo(++i, textBox2.Text.Trim(), textBox1.Text.Trim());
                lock (myLock)   // 任务队列为临界资源,需要锁  
                {
                    TaskQueue.Enqueue(Task);
                }
                TaskSemaphore.Release(1);   // 每添加一个任务,信号量加1  
            }
            //MessageBox.Show((DateTime.Now - date1).TotalSeconds.ToString());

        }
人生导师 2013-06-22
  • 打赏
  • 举报
回复
建议你使用Task类执行并发操作,不建议自己新建线程去多线程操作的,关于并行编程可以参考下面的文章: http://msdn.microsoft.com/zh-cn/library/dd460693.aspx

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧