C#怎样用多线程做一个短信发送的功能,要给成千上万个人发送,怎样解决?

现在我要做一个功能,项目里面有个群发短信通知的功能,想用多线程同时给这么多人发送消息,怎么写?

搞两个线程就行了,一个线程从集合中读取号码,把他与要发送的内容封装起来,交给第二个线程,执行发送就行了

现在一般的短信服务商提供的api速度都很快的,单线程遍历列表,几秒钟就可以发送成千上万条记录吧,这个需要你测试一下。如果几秒钟就可以搞定,就没必要用多线程了,多线程启动多了也不好。
如果确实需要多线程,建议弄一个线程池,而不是成千上万个线程一对一的发送,那样你的机器估计一下就卡死了吧。

建议你用消息队列 就想RabbitMQ

Net4.0后有个东西叫并行循环Parallel.For,配合多线程,试试

两个线程就行了,一个线程从集合中读取号码,把他与要发送的内容封装起来,交给第二个线程,执行发送就行了

现在一般的短信服务商提供的api速度都很快的,单线程遍历列表,几秒钟就可以发送成千上万条记录吧,这个需要你测试一下。如果几秒钟就可以搞定,就没必要用多线程了,多线程启动多了也不好。
如果确实需要多线程,建议弄一个线程池,而不是成千上万个线程一对一的发送,那样你的机器估计一下就卡死了吧。

有一种方式叫广播地址~

可以直接开线程发就是了

弄一个线程池,而不是成千上万个线程一对一的发送

有一种方式叫广播地址~

用短信机还是短信模块?通讯商的短信机的话,不需要你处理,直接打包扔过去,就好了。短信模块的话,只需要用到队列就行了。

已经解决了,我开了4个线程,把取出来的人,放入了队列中