草庐IT

延迟任务

全部标签

c# - 如何命名运行任务的线程?

我发现命名线程在调试时非常有用。我看不出有什么方法可以使用Task.Factory.StartNew()的参数来命名线程那么在任务中显式命名线程是否可以接受?例如:privatevoidMyFunc(){Task.Factory.StartNew(()=>{Thread.CurrentThread.Name="Foobulizer";Foobulize();});}但是,我很欣赏线程可能会被不同的任务重用,所以我是否需要在任务结束时显式地重置线程名称?这感觉很老套,所以我认为这可能是个坏主意,或者有正确的方法来做到这一点? 最佳答案

c# - 如何将状态对象传递给延续任务?

我在C#中使用.NET4.0任务并行库(我第一次使用TPL)我有一个任务A,我想在启动一堆其他任务(B、C、D等)之前将其运行至完成。因此,我想创建任务B、C、D等作为任务A的延续。但是,我想将一个“状态”对象传递给任务B,将另一个状态对象传递给任务C,等等。我可以通过简单地使用带有状态对象的任务构造函数重载将状态对象传递给任务A,例如http://msdn.microsoft.com/en-us/library/dd783035.aspx描述了这个Task构造函数重载:Task(Action,Object,CancellationToken)这很好用,第二个参数是我的“状态”对象。我

c# - 多任务变慢

代码:staticvoidDoIt(stringname){Console.WriteLine("Hello{0}|{1}",name,Thread.CurrentThread.ManagedThreadID);Thread.Sleep(5000);Console.WriteLine("Bye{0}|{1}",name,Thread.CurrentThread.ManagedThreadID);}staticvoidMain(){Task.Factory.StartNew(()=>DoIt("One"));Task.Factory.StartNew(()=>DoIt("Two"));T

c# - 任务和异常静默

为什么任务中抛出的异常是静默异常,你永远不知道某个异常是否已经抛出try{Tasktask=newTask(()=>{thrownull;});task.Start();}catch{Console.WriteLine("Exception");}程序在一片寂静中成功运行!线程行为不同的地方try{Threadthread=newThread(()=>{thrownull;});thread.Start();}catch{Console.WriteLine("Exception");}这种情况会抛出空指针异常。有什么区别? 最佳答案

c# - 任务和异步任务之间的区别

C#提供了两种创建异步方法的方法:任务():staticTaskMyAsyncTPL(){Taskresult=PerformWork();returnresult.ContinueWith(t=>MyContinuation());}异步任务():staticasyncTaskMyAsync(){stringresult=awaitPerformWork();returnMyContinuation();}以上两种方法都是async并且实现相同的目的。那么,我什么时候应该选择一种方法而不是另一种方法呢?使用其中一种优于另一种有什么指导方针或优势吗? 最佳答

javascript - 在 Javascript 中映射一组任务

所以我开始研究Ramda/Folktale。我在尝试映射来自目录的一系列任务时遇到问题。我正在尝试解析文件内容。varfs=require('fs');varutil=require('util');varR=require('ramda');varTask=require('data.task');varcompose=R.compose;varmap=R.map;varchain=R.chain;functionparseFile(data){console.log("Name:"+data.match(/\$name:(.*)/)[1]);console.log("Descrip

javascript - 延迟回调直到脚本被添加到文档?

如何让回调在脚本实际附加到文档之前不运行?functionaddScript(filepath,callback){if(filepath){varfileref=document.createElement('script');fileref.setAttribute("type","text/javascript");fileref.setAttribute("src",filepath);if(typeoffileref!="undefined")document.getElementsByTagName("head")[0].appendChild(fileref);}if(c

javascript - 使用 Knockout 和 jQuery 延迟加载图像

我有一个图像密集型网站,它使用knockout构建并包含jQuery。这些在foreach循环中:所以基本上当我创建这些元素时,imageTmp是一个返回临时url的计算可观察对象,而imageThumb被设置为来自CDN的真实url。我也有这段代码,称之为LazySweeper:varlazyInterval=setInterval(function(){$('.lazy:in-viewport').each(function(){$(this).attr('src',$(this).data('src')).bind('load',function(){$(this).remove

Javascript:如何在执行 javascript 代码之间设置一个简单的延迟?

我有一个for循环,它在javascript代码中迭代超过10,000次。for循环创建标签并将其添加到当前页面DOM中的一个框中。for(i=0;i'+data[i]+'';if(i%50==0){/*somedelayfunction*/}}containerObj.innerHTML=tmpContainer;我想在每50个标签后放置一个延迟,所以位置的代码是什么/*somedelayfunction*/因为加载所有10,000个标签需要花费太多时间。我想以50个标签为单位更新框。提前致谢。 最佳答案 在这些情况下有一个方便的

javascript - gulp browserify reactify 任务很慢

我使用Gulp作为我的任务运行器并使用browserify来捆绑我的CommonJs模块。我注意到运行我的browserify任务非常慢,大约需要2到3秒,而我只有React和一些我为开发构建的非常小的组件。有没有办法加快任务速度,或者我在任务中有什么明显的问题?gulp.task('browserify',function(){varbundler=browserify({entries:['./main.js'],//Onlyneedinitialfiletransform:[reactify],//ConvertJSXtojavascriptdebug:true,cache:{}