线程/异步委托的问题 (绝对诡异)
public int addhandler(int a, int b)
{
Console.WriteLine("A");
System.Threading.Thread.Sleep(3000);// 注释代码后无延迟
return a + b;
}
这是一个异步委托的回调函数
Random r = new Random();
for (int i = 0; i < 50; i++)
{
clstest c = new clstest();
int num1 = r.Next(1, 101);
int num2 = r.Next(1, 101);
add a1 = new add(c.addhandler);
a1.BeginInvoke(num1, num2, new AsyncCallback(c.addCallback), a1);
Console.WriteLine("已启动数量" + i);
}
如果循环启动这个异步委托 是不是启动一个 就该打印一个A(也有可能启动几个后打印一个A,具体跟cpu有关)
但实际结果是50个异步委托全部启动完 才开始打印A 如果注释掉回调中的 sleep方法 就会按照正常逻辑打印
可sleep明显是在打印后之后 也就是说注释sleep应该和打印A是没关系的
相关推荐
vue.js 解决v-model让select默认选中不生效的问题
笔者今天在开发中遇到一个看起来很神奇的问题,平时编辑的页面我们select下拉选框利用vue.js 的v-model来实现自动选中,今天无论如何都选不中,后来经过很久的复查和大神的一句话终于解决这个这个问题,顺便分享一下。 问题 先上代码: 上图是前端的H5页面 下面是js代码: 一眼看上好像也没有什么问题。js 在初始化的时候,调用后台接口,取到数据然后传递给vue里面定义的data里面。并且前端页面除了select不能正常选中,其他的input 框的数据也都全部显示出来了(因为涉及一些机密的数据,所以还是涂鸦一下,主要还是把问题说清楚) 按照常理来说是不可能出现这个问题,毕竟之前在
AJAX 异步传输数据的问题
暂时把script中的‘+’都用‘-’代替,index += 1;改成index -= -1;呵呵,以后有人看到这段自动生成的诡异脚本,不知道会作何感想,但现在也只能如此。
JS-backyard:在JS后院,您可能不知道一些有趣的事情
JS-backyard 题目在 答案在 其实,根本就没有“诡异”的意料之外,只有我们没懂的情理之中。 JavaScript是一门很有趣的语言,I Love This Language.
js-ghost-stories:JavaScript鬼故事
js-ghost-stories JavaScript鬼故事 超级困扰的故事。 如果您想分享您的故事,请发送包含您故事的新目录的PR。
watchingyou:这是一个模拟打字的令人毛骨悚然的网站
看着你 这是一个令人毛骨悚然的网站,它模拟打字并假装成一个真实的人,他们知道您的位置。 使用PHP和在服务器端记录数据 使用模拟 使用客户端位置


