我有两个async功能.他们俩都在等待两个3秒的函数调用.但第二个比第一个快.我认为更快的是并行运行和其他串行运行.我的假设是否正确?如果是,为什么会发生这种情况,因为这两个函数看起来在逻辑上相同?
function sleep() {
return new Promise(resolve => {
setTimeout(resolve, 3000);
});
}
async function serial() {
await sleep();
await sleep();
}
async function parallel() {
var a = sleep();
var b = sleep();
await a;
await b;
}
serial().then(() => {
console.log("6 seconds over");
});
parallel().then(() => {
console.log("3 seconds over");
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试执行以下代码,这是1988年的混淆C代码竞赛条目.
#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
Run Code Online (Sandbox Code Playgroud)
从条目描述中,此代码通过查看其自己的区域来计算pi.我成功编译它而不更改代码.但是当我执行时,它给了我0.25的值,我期待的是3.14.代码描述表明它在K&R C中,如果没有一些更改,它在ANSI C中无法正常工作.我想我必须做那些修改才能正确执行它.我以前没有K&R C的经验.所以有人可以帮助我将上述代码更改为ANSI C或指出问题(如果有的话).我正在使用Microsoft Visual Studio 2008来执行此操作.