续上回 http://www.crazycoder.cn/Yuanchuang/Article2984.htmlC#多线程教程系列之一,多线程入门,实例代码
//crazycoder原创,转载请注明出处
我们解决了简单的多线程问题了,现在问题出来了,现在有个project对疯狂工作室很重要,我们能实现多个成员共同工作但是如何实现任务分配呢?
提供一个解决方案,答案是在成员类上,我们对UserInfo类做如下改动
public class UserInfo
{
private string _name;
///
/// 用户名称
///
public string Name
{
get { return _name; }
set { _name = value; }
}
private string _workDetail;
///
/// 代码细节 可以理解为代码分工,这个属性里我们对CrazyCoder工作室成员进行工作分工
/// by crazycoder http://www.crazycoder.cn
///
public string WrokDetail
{
get { return _workDetail; }
set { _workDetail = value; }
}
///
/// 线程执行具体方法 注意:必须是Void类型,不能为静态方法
/// 这里实现了线程分工
/// by crazycoder http://www.crazycoder.cn
///
public void Work()
{
//这里写要做的工作代码
if (_workDetail == "负责写数据操作类代码")
{
//开始写底层代码
}
else
{
//这里写其他判断语句
}
}
}
同样我们对线程类改造
///
/// C#多线程系列教程 疯狂代码工作室出品
/// by crazycoder http://www.crazycoder.cn
///
public class CrazyCoderThread
{
///
/// 线程执行代码
/// by crazycoder http://www.crazycoder.cn
///
public void ProjectThread()
{
//假设工作室6名成员开始工作
for (int i = 1; i <= 6; i++)
{
UserInfo u = new UserInfo();
u.Name = "疯狂工作室成员" + i.ToString();
//这里对线程成员分工
u.WrokDetail = "负责写数据操作类代码";
//线程初始化
Thread t = new Thread(u.Work);
//线程开始
t.Start();
}
}
}
到这里,我们已经可以实现对线程的分工了,希望能给大家帮助
道理很简单,我们就是在代码定义的时候对线程进行了分工
待续,下章将写C#多线程任务分配的内容
仅作入门之用参考
最新评论