勿忘初心
每天都是新的开始

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

第二步,自动发送短信服务,该服务是控制台程序, 一直运行,检测到数据库有为发送的模板时候  根据模板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  循环了。


posted on 2018-04-16 15:16  栀子勿忘  阅读(98)  评论(0编辑  收藏  举报