6

到目前为止,我一直试图通过立即在我的项目中实现线程来掌握线程。很长一段时间以来,我一直在尝试这样做。但这并没有产生任何结果,也没有给我任何线程方面的经验。尝试给我的唯一印象是 C# 中的线程有许多重要的改进。

我找不到任何关于线程的简单练习。我正在寻找您必须制作不同的简单控制台应用程序的练习。我正在寻找简单的练习,这样我就可以了解使用线程时事情是如何工作的并掌握这个想法。我看过一本难度很大的编程练习书,随着问题的数量越来越大,难度越来越大。我正在寻找类似的东西。之后我将继续处理更复杂的东西并尝试在我的项目中添加线程(它是用 Windows 窗体制作的)。

我在哪里可以找到关于 C# 线程的练习/练习书?

编辑:

我不是在寻找任何教程——我可以自己找到它们。我只搜索练习和练习。如果没有这样的练习,请告诉我。

4

3 回答 3

7

简单练习:

1)更改有效的代码(通过示例学习)

  • 打开任何教程
  • 查找代码示例
  • 玩代码示例,看看哪些有效,哪些无效

2)回答SO问题(边教边学)

  • 发现一个有趣的问题
  • 回答它(你应该做一个研究来做到这一点)
  • 与其他用户交谈和互动
于 2012-12-15T04:33:35.463 回答
4

Joseph Albahari 有一篇很棒的文章,名为Threading in C#。这是一篇关于开始学习 C# 线程的非常酷的博客文章。约瑟夫清楚地解释说:

  • 简介和概念
  • 加入并睡觉
  • 线程如何工作
  • 创建和启动线程
  • 线程池

并查看Codeproject 的这篇文章。

  • 入门

Thread您可以通过实例化一个对象并调用它的 Start 方法来创建和启动一个新线程。最简单的 Thread 构造函数接受一个ThreadStart委托:一个无参数方法,指示应该从哪里开始执行。

using System;
using System.Threading;

class ThreadTest
{
   static void Main()
   {
      Thread t = new Thread (WriteY); // Kick off a new thread
      t.Start(); // running WriteY()
      // Simultaneously, do something on the main thread.
      for (int i = 0; i < 1000; i++) Console.Write ("x");
   }
   static void WriteY()
   {
      for (int i = 0; i < 1000; i++) Console.Write ("y");
      }
}

// Output:
xxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...

如果您想深入学习线程,请获得一份C# 4.0 in a Nutshell

于 2012-12-14T22:29:29.170 回答
-1

线程非常简单。这是一个流行的链接: http ://www.albahari.com/threading/

基本:

创建一个返回 void 且不带参数的方法。像这样:

private void MyThreadMethod()
{
    //Some code here.
}

要在线程中调用该方法,只需在表单上的按钮中执行此操作。

var thread = new Thread(new ThreadStart(MyThreadMethod));
thread.Start();

这将创建一个线程并启动它并运行MyThreadMethod.

现在,魔鬼在细节中。线程安全和线程管理是线程和多任务处理的真正艺术所在。要考虑的另一件事是线程与任务,它们对用户更加友好。

于 2012-12-14T22:28:24.080 回答