timer多线程异步请求数据(Task)
来源:互联网 发布:从淘宝上怎么买东西 编辑:程序博客网 时间:2024/06/05 04:32
//Timer不要声明成局部变量,否则会被GC回收
private static System.Timers.Timer timer = new System.Timers.Timer();
public static void Main()
{
timer.Interval = 1000;
timer.Elapsed += TimersTimerHandler;
timer.Start();
}
private static void TimersTimerHandler(object sender, EventArgs args)
{
if (Interlocked.Exchange(ref inTimer, 1) == 0)
{
Station();
Interlocked.Exchange(ref inTimer, 0);
}
}
//获取站点信息
public static void Station()
{StationManage sm = new StationManage();
List<Station> list = sm.Get();
StationDetailManage sdm = new StationDetailManage();
stationdetaillist = sdm.Get();
int page = 1000;
int count = list.Count();
int num = count / page;
if (count % page > 0)
{
num += 1;
}
List<object> listobj = new List<object>();
for (int i = 0; i < num; i++)
{
int start = i * page;
if (i == num - 1)
{
int end = count - start;
List<Station> temp = list.GetRange(start, end);
listobj.Add(temp);
}
else
{
List<Station> temp = list.GetRange(start, page);
listobj.Add(temp);
}
}
ExecuteAllTask(GetStationResult, listobj);
}
//Task执行方法
public static void ExecuteAllTask(Action<object> method, List<object> listobj)
{
List<Task<bool>> listt = new List<Task<bool>>();
listobj.ForEach(x => {
var t = Task.Factory.StartNew(() =>
{
method(x);
return true;
});
listt.Add(t);
});
Task.WaitAll(listt.ToArray());
}
//取到数据后保存数据
public static void GetStationResult(object obj)
{
}
- timer多线程异步请求数据(Task)
- Timer Timer Task Handler
- Timer&Timer Task
- 异步请求数据__flash
- ASIHTTPRequest异步请求数据
- 网络异步请求数据
- 异步请求数据
- 异步请求网络数据
- AJAX 异步请求数据
- iOS dispatch group dispatch_group_notify 多线程等待 多个数据请求处理 异步请求
- http异步请求&Future异步多线程
- SQL异步访问数据:Task和await
- 异步请求没有数据返回
- Jquery异步请求数据实例
- Ajax异步请求PHP数据
- 使用异步请求网络数据
- Okhttp get异步请求数据
- JAVA Timer and task
- 几何画板用迭代法作图的方法
- 第十四周项目1-验证算法
- C#调运C++的DLL返回中文字符串乱码问题
- 第十四周项目1-验证算法
- java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for study.my
- timer多线程异步请求数据(Task)
- Android逆向之旅---Android中的sharedUserId属性详解
- 第十四周 项目一分块查找
- Struts2多文件上传
- angularjs 指令详解 - template, restrict, replace
- ubuntu升级提示/boot空间不足
- 关于前端结构调整的一次实践
- volatiel和synchronized的区别
- C# 简单发送邮件