刚学到线程的使用。可以开始,但停止后,程序还在运行,可能是写得不对,所以想找个例子看看。有没有简单点的例子。

解决方案 »

  1.   

    把你的代码贴出来看看啊。msdn 里有很多线程的例子的。
      

  2.   

    我在线程的执行过程中,为什么不反调用form类中的涵数时,此涵数不执行呢?
    form类中有个涵数为:
    public void ps_show_url(string url)
            {
                this.show_url.Text = url;
            }我在另一个类中(是由form类里执行的另一个线程类)调用这个时时显示数据库的涵数,虽然可以调用,但TEXTBOX中却始终不会显示任何东西。
      

  3.   

    顶一下。我用了Monitor也不行。真奇怪。我找了个2003的例子,可是放在2005中就不行。
      

  4.   

    private Thread calcThread; //声明一个线程
    private Form2 calcForm; //一个Form2窗体 private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
    {
    switch (toolBar1.Buttons .IndexOf (e.Button ))
    {
    case 0:
    if (calcThread==null)
    {
    calcForm.Show ();
    //把线程实例化,并设置优先级
    calcThread = new Thread (new ThreadStart (calcForm.MyCalculate));
    calcThread.Priority = ThreadPriority.Normal;
    //启动线程
    calcThread.Start ();
    }
    break;
    case 1:
    //当前线程休眠10秒
    Thread.Sleep (10*1000);
    break;
    case 2:
    if (calcThread.ThreadState == ThreadState.Running )
    { //挂起线程
    calcThread.Suspend ();
    e.Button .Text = "Resume";
    }
    else if (calcThread.ThreadState == ThreadState.Suspended )
    { //继续线程
    calcThread.Resume ();
    e.Button .Text = "Suspend";
    }
    break;
    case 3:
    if (calcThread.IsAlive )
    { //终止线程
    calcThread.Abort ();
    calcForm.Hide ();
    }
    break;
    }
    } private void Form1_Load(object sender, System.EventArgs e)
    { //初始化Form2实例,并隐藏起来
    calcForm = new Form2 ();
    calcForm.Hide ();
    }
    }
    }用这个放在2005里不行吗?
      

  5.   

    我写过多个例子,供参考,
    使用多线程加载多个Xml文件到TreeView控件[翻译]
    http://blog.csdn.net/zhzuo/archive/2004/06/10/22037.aspx
    编写多线程网络检测程序的简单实现
    http://blog.csdn.net/zhzuo/archive/2004/07/08/37262.aspx
    用C#去除代码的SourceSafe管理
    http://blog.csdn.net/zhzuo/archive/2004/06/15/22038.aspx