Tag: asynchronous

Task.Factory.StartNew vs新任务

有没有人知道是否有任何区别做Task.Factory.StartNew与new Task之后调用Start任务。 看reflection器似乎没有太大的区别。 所以也许唯一的区别是Task.Factory.StartNew返回一个已经启动的任务。 它是否正确? 我知道Task.Factory.StartNew和Task.Run具有不同的默认选项, Task.Run是.Net 4.5的首选选项。

TPL和asynchronous/等待(线程处理)之间的区别

尝试理解TPL和asynchronous/等待线程创build之间的区别。 我相信TPL(TaskFactory.Startnew)类似于ThreadPool.QueueUserWorkItem,因为它在线程池中的线程上排队工作。 这当然,除非你使用TaskCreationOptions.LongRunning创build一个新的线程。 我认为asynchronous/等待将同样如此基本: TPL: Factory.StartNew( () => DoSomeAsyncWork() ) .ContinueWith( (antecedent) => { DoSomeWorkAfter(); },TaskScheduler.FromCurrentSynchronizationContext()); asynchronous/等待: await DoSomeAsyncWork(); DoSomeWorkAfter(); 将是相同的。 从我一直在读它看起来像asynchronous/只等待“有时”创build一个新的线程。 那么它什么时候创build一个新的线程,什么时候不创build一个新的线程呢? 如果你正在处理IO完成端口,我可以看到它不必创build一个新的线程,否则我会认为它将不得不。 我想我对FromCurrentSynchronizationContext的理解总是有点模糊。 我总是从头到尾都是UI线程。

IntPtr.Zero是否等于null?

我想设置ReadFileasynchronous运行,并根据MSDN ,我需要设置lpNumberOfBytesRead为null : 如果这是一个asynchronous操作,以避免可能的错误结果,请使用NULL作为此参数。“ 例如,如果我有以下内容: [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)] public static extern bool ReadFile( IntPtr hFile, out byte[] aBuffer, int cbToRead, IntPtr cbThatWereRead, ref OVERLAPPED pOverlapped ); 我这样称呼它(第四个参数为空): Win32API.ReadFile(readHandle, out data_read, Win32API.BUFFER_SIZE, IntPtr.Zero, ref over_lapped); 将这与用null调用它相同吗? 如果不是,我应该在声明或函数调用中更改哪些内容? 我也很好奇,如果我应该使用SafeHandle或HandleRef而不是IntPtr的hFile参考? 我知道确保我用CloseHandle(IntPtr)closures句柄,当我完成它,只是不知道是否有任何其他理由使用其他两个选项通过IntPtr 。 我也试图避免使用不安全的代码。 编辑:事实certificate,我不应该设置IntPtr.Zero的第四个参数,因为即使我asynchronous运行,它仍然可以立即返回。 请参阅asynchronous磁盘I / O。 啊,我喜欢矛盾的故事。

如何在不影响其他线程的情况下睡眠node.js中的线程?

根据理解node.js事件循环 ,node.js支持单个线程模型。 这意味着如果我向一个node.js服务器发出多个请求,它不会为每个请求产生一个新的线程,而是会逐个执行每个请求。 这意味着如果我为node.js代码中的第一个请求执行以下操作,同时在节点上发出新的请求,则第二个请求必须等到第一个请求完成(包括5秒的hibernate时间)。 对? var sleep = require('sleep'); sleep.sleep(5)//sleep for 5 seconds 有没有一种方法,node.js可以为每个请求产生一个新的线程,以便第二个请求不必等待第一个请求完成,或者我可以只调用特定线程上的睡眠?

Node.js – 使用async lib – async.foreach和object

我正在使用节点asynchronous库 – https://github.com/caolan/async#forEach,并想遍历一个对象,并打印出其索引键。 一旦完成,我想要执行callback。 这是我迄今为止'iterating done'但'iterating done'从未被看到: async.forEach(Object.keys(dataObj), function (err, callback){ console.log('*****'); }, function() { console.log('iterating done'); }); 为什么最后的函数不被调用? 如何打印对象索引键?

禁止警告CS1998:这种asynchronous方法缺less“等待”

我有一些asynchronous函数的接口。 一些实现接口的类没有什么可以等待的,有些可能只是抛出。 所有的警告都有点烦人 在不使用asynchronousfunction时等待。 是否可以压制消息? public async Task<object> test() { throw new NotImplementedException(); } 警告CS1998:这种asynchronous方法缺less“等待”操作员,并将同步运行。 考虑使用'await'操作符来等待非阻塞API调用,或者'等待Task.Run(…)'在后台线程上执行CPU绑定的工作。

在python中的asynchronous编程

python中有asynchronous编程的一般概念吗? 我可以给一个函数分配一个callback,执行它并立即返回到主程序stream程,无论该函数执行多长时间?

PhantomJS很长一段时间说“现在开始asynchronous会话清理阶段”

这是一个截图: task : Codeception PHP Testing Framework v1.6.2 Powered by PHPUnit 3.7.19 by Sebastian Bergmann. Suite selenium_acceptance started Trying to see the welcome page of newweather (welcomeCept.php) issue : it sits as it is and waiting for phantomJS to respond and below is what phantomJS screen is showing : [INFO – 2014-03-13T01:42:51.575Z] SessionManagerReqHand – _postNewSessionCommand […]

asynchronous箭头函数的语法

我可以使用async关键字将javascript函数标记为“async”(即返回一个promise)。 喜欢这个: async function foo() { // do something } 什么是箭头函数的等效语法?

mocha before()中的asynchronous函数在it()spec之前完成了吗?

before()有一个callback函数,用于清理数据库。 before()所有内容都保证在it()开始之前完成? before(function(){ db.collection('user').remove({}, function(res){}); // is it guaranteed to finish before it()? }); it('test spec', function(done){ // do the test }); after(function(){ });