当前位置: 首页 > news >正文

如何快速学成网站开发网络域名的网站

如何快速学成网站开发,网络域名的网站,有哪些做汽配的网站,wordpress前台登陆插件如果有些任务需要在后台自动执行#xff0c;且时不时需要添加一个任务#xff0c;且按照优先级顺序执行#xff0c;那么可以参考本文的方法。 后台任务类 定义一个后台任务类BackgroundTaskThread#xff0c;其中Start方法是用来启动任务的#xff0c;循环查询是否有添加…如果有些任务需要在后台自动执行且时不时需要添加一个任务且按照优先级顺序执行那么可以参考本文的方法。 后台任务类 定义一个后台任务类BackgroundTaskThread其中Start方法是用来启动任务的循环查询是否有添加任务外部一般就调用AppendTask来添加任务。循环任务发现任务有添加后会自动执行。如果有多个任务会按加入的顺序一个一个执行。 public class BackgroundTaskThread {/// summary/// 任务列表/// /summaryprivate ListTaskItem TaskItems new ListTaskItem();/// summary/// 等待时间/// /summarypublic int MillSeconds 1000;/// summary/// 自动重置/// /summarypublic AutoResetEvent TaskSet new AutoResetEvent(false);/// summary/// 任务取消标识/// /summarypublic CancellationTokenSource Source { get; set; } new CancellationTokenSource();/// summary/// 日志/// /summarypublic ILog Log { get; set; }/// summary/// 线程数量/// /summarypublic int ThreadNum { get; private set; }/// summary/// 任务线程/// /summarypublic ListTask TaskThreads new ListTask();/// summary/// 启动/// /summary/// param nametaskTimeSpan任务扫描间隔/param/// param nametaskNum任务数量/parampublic void Start(int taskTimeSpan, int taskNum){ThreadNum taskNum;for (int i 0; i taskNum; i){MillSeconds taskTimeSpan;Task task new Task(BackgroundThread);task.Start();TaskThreads.Add(task);}}/// summary/// 后台任务/// /summaryprivate void BackgroundThread(){try{while (!Source.Token.IsCancellationRequested){var item GetOrSetTaskItem(true, null);if(item null){TaskSet.WaitOne(MillSeconds);}else{try{item.Task.Invoke(item.Param);}catch (Exception ex){Log.error(任务 : , item.Name, 异常停止.,.., ex);}}}}catch (Exception ex){Log.error(后台任务线程异常退出...., ex);}}/// summary/// 读取或者/// /summary/// param nameisGet是否是获取/param/// param nameitem任务项/param/// returns/returnsprotected TaskItem GetOrSetTaskItem(bool isGet, TaskItem item){lock (this){if (isGet){if (TaskItems.Count 0)return null;item TaskItems[0];TaskItems.RemoveAt(0);return item;}else{TaskItems.Add(item);return item;}}}/// summary/// 追加任务/// /summary/// param nametask/param/// param nameparam/parampublic void AppendTask(Actionobject task, object param){GetOrSetTaskItem(false, new TaskItem() { Task task, Param param });TaskSet.Set();}/// summary/// 释放/// /summarypublic void Dispose(){if(TaskThreads.Count 0)Source.Cancel();TaskItems.Clear();} }内部任务定义类 public class TaskItem {/// summary/// 任务/// /summarypublic Actionobject Task { get; set; }/// summary/// 参数/// /summarypublic object Param { get; set; }/// summary/// 任务名称/// /summarypublic string Name { get; set; } string.Empty; }实际任务 public class DoSomethingTaskThread : BackgroundTaskThread {public void AppendSomething(object data){AppendTask(DoSomething, data);}private void DoSomething(object data){//TODO} }外部调用 当然最好把DoSomethingTaskThread这个子类做成单例后面直接 //启动任务同步的话线程数传1异步的话线程数可以传多点 DoSomethingTaskThread.Start(1000,1);//添加任务 DoSomethingTaskThread.AppendSomething(new object());
http://www.w-s-a.com/news/91884/

相关文章:

  • 商业网站建设案例教程郑州服装网站建设公司
  • 网站内容怎么做专业的企业管理软件
  • 深圳网站制作公司排名微网站和微信公共平台的区别
  • 权威的唐山网站建设扁平网站欣赏
  • 网站外链建设工作计划应用公园app免费制作
  • 东莞营销型网站建设全自动建站系统
  • 网络在线培训网站建设方案虚拟主机配置WordPress
  • 建设工程信息查询哪个网站好台州做优化
  • wordpress页面回收站位置台州做网站
  • 邢台市行政区划图seo咨询师招聘
  • 外贸网站建设案例网站建设优化开发公司排名
  • 恩施网站优化郑州有没有厉害的seo
  • 电子商务网站建设与管理期末考试题铜山区建设局网站
  • 怎么做非法彩票网站大兴安岭网站建设公司
  • 网站备案授权书模板海外如何淘宝网站建设
  • 网站开发提供源代码dedecms做网站教程
  • 怎么做国际网站首页erp系统一套大概多少钱
  • 做代理网站用什么软件建设网站的企业多少钱
  • 微企免费做网站360收录提交
  • 网站导航页怎么做wordpress数据库批量替换
  • wordpress站点更换域名自己做wordpress 模版
  • 怎么做虚拟的网站东莞常平邮编是多少
  • 电子商务网站和普通网站的区别正规网站建设多少费用
  • 郴州免费招聘网站前端好还是后端好
  • 织梦网站怎样做子域名20个中国风网站设计欣赏
  • wordpress网站搬简约创意logo图片大全
  • 叙述网站制作的流程石家庄58同城最新招聘信息
  • 南昌微信网站建设东莞网站优化软件
  • 爱站数据官网纯静态网站挂马
  • 网站建设公司未来方向3d设计网站