rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » C#

C#多线程教程系列之二,多线程入门,实例代码,线程分工

续上回
//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();
                
            }
        }
    }
到这里,我们已经可以实现对线程的分工了,希望能给大家帮助
道理很简单,我们就是在代码定义的时候对线程进行了分工
顶一下
(0)
踩一下
(0)