第一次使用多线程

Posted 勿忘初心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次使用多线程相关的知识,希望对你有一定的参考价值。

项目中有个需求 自动发送短信功能,因为 数据可能比较多  就考虑用多线程来完成。具体需求 此处分了两个步骤  ,在后后 发送的时候保存 模板和根据条件筛选出来的用户。

第二步,自动发送短信服务,该服务是控制台程序, 一直运行,检测到数据库有为发送的模板时候  根据模板id 查询出相应要发送的手机号,调取发送短信方法实现发送

   trd = new Thread(SendMessageByGroup);
            if (mutex.WaitOne(0,false))
            {
                while (trd.ThreadState == ThreadState.Unstarted || trd.ThreadState == ThreadState.Stopped)
                {
                   List<int> smslist = new SysSmsRecordBll().GetSmsTask(); //获取发布任务模板
                    if (smslist != null && smslist.Count > 0)
                   {
                       for (int i = 0; i < smslist.Count; i++)
                      {
                           // 创建指定数量的线程
                           object gid = smslist[i];
                           trd = new Thread(new ParameterizedThreadStart(SendMessageByGroup));
                         trd.Start(gid);
                      }

                    }
                }
            }
SendMessageByGroup 方法的具体实现 就很简单了 , 就是简单的 foreach  循环了。


以上是关于第一次使用多线程的主要内容,如果未能解决你的问题,请参考以下文章

python中的多线程和多进程编程

多个用户访问同一段代码

线程学习知识点总结

多个请求是多线程吗

python小白学习记录 多线程爬取ts片段

八.多进程与多线程