首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LINQpad线程行为

LINQpad线程行为
EN

Stack Overflow用户
提问于 2012-03-16 02:49:09
回答 1查看 1.2K关注 0票数 4

我刚开始使用LinqPad,并在其中尝试了一些线程片段,我很困惑为什么我的代码没有像预期的那样运行。

代码语言:javascript
复制
Thread t1 = new Thread
(delegate()
    {
        for (int cycles = 0; cycles < 1000; cycles++)
        {
            Thread.Sleep(500);
            Console.WriteLine("Hello World!");
        }
    }
);
t1.Start();

Console.WriteLine("Soham");

为什么这只打印Soham。线程内的代码块根本没有执行。我不能理解为什么,因为语法编译得很好,就我所知,c#应该编译得很好,在VS2010中运行,并执行两个输出,即使它们的顺序不能确定。我在这里做错了什么或想错了什么。我可能需要一些有用的教程和建议来适应LinqPad。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-16 02:52:01

尝试在Console.WriteLine("Soham")后面添加一个t1.Join() :-) LINQPad可能会看到主线程终止并杀死所有东西。使用t1.Join();,主线程将等待另一个线程完成。

啊..。并且刚刚测试了它:-)

我要补充的是,你可以用更少的字符来写:

代码语言:javascript
复制
new Thread(() => 
{
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9726201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档