关于多线程请求url解决方案
现在我有个需求是这样的 我们项目中通过微信公众平台的接口向关注公众号的粉丝进行群发消息,但公众平台提供的群发接口不能满足我们的需要
所以我们就通过另一个接口进行发送消息 但使用这个接口相当于和用户一对一的进行发送 所以当发送的用户量比较大的时候 我需要请求
微信提供的url也将会增大 目前我想到的是通过线程池创建多线程进行发送 现在发现模拟1000个用户 发送的速度大概是在1分钟左右
但项目要求需要支持5万以上的用户 所以想请问各位有没有什么更快的方法能够解决我现在的问题呢?
另附上 我现在写的demo
public static Time obj;
public static int index;
static string url = WeChatURL.AccessToken.Replace("$appid$", "111111").Replace("$appsecret$", "22222");
static void Main(string[] args)
{
obj=new Time();
for (int i=0;i<10000;i++)
{
ThreadPool.QueueUserWorkItem(Send,i);
}
}
private static void Send(object o)
{
lock(obj)
{ DateTime d=DateTime.Now;
{
try
{
WeChatHelper.HttpQuery(url, "get");
Thread.Sleep(10);
}
catch (Exception)
{
Console.WriteLine("error :" + Thread.CurrentThread.ManagedThreadId);
}
}
index++;
TimeSpan s = DateTime.Now - d;
obj.SetTotal(s);
Console.WriteLine(string.Format("\r\n{0} current runtime:{1}\r\n", index,obj));
}
}
public class Time
{
public TimeSpan total { get; set; }
public void SetTotal(TimeSpan s)
{
total += s;
}
public override string ToString()
{
return total.ToString();
}
}