none
aspx怎么实现获得线程状况 RRS feed

答案

  • using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Threading;
    
    public partial class HTML_CSS_JAVASCRIPT_X200907012024 : System.Web.UI.Page
    {
        private Thread CurThread
        {
            get
            {
                // 把线程记录到 Session 中,可以直接操作 CurThread.Abort() 终止线程
                if (Session["CurThread"] == null)
                {
                    Thread fCurThread = new Thread(new ThreadStart(Sleep));
                    fCurThread.Start();
                    Session["CurThread"] = fCurThread;
                }
    
                return (Thread)Session["CurThread"];
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            // CurThread 
            Response.Write(CurThread.ThreadState.ToString());
        }
    
        private void Sleep()
        {
            Thread.Sleep(10000);
        }
    }
    

    知识改变命运,奋斗成就人生!
    2009年7月1日 12:46
    版主
  • 你好,

    C#中并没有提供用于根据id或name来寻找线程的方法。
    因此如果你一定要对创建的线程以后再进行操作。

    你只有如X.X.Y那样将创建的thread放入session或者application保存。

    再次从上面的对象中取出时,你可以根据它的IsAlive等属性来判断改线程的状态。
    Microsoft Online Community Support
    2009年7月2日 3:36

全部回复

  • 不知道怎么在调回来,是什么意思,请详细描述一下
    知识改变命运,奋斗成就人生!
    2009年7月1日 8:02
    版主
  • 你想获得线程的什么状况,你想怎么使用线程,把问题说清楚,有代码的话把代码贴出来


    努力+方法=成功
    2009年7月1日 8:29
  •  

        Inherits System.Web.UI.Page
        Dim Thread As Thread
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not Request("asd") Is Nothing Then
                '这是挂在后台的线程吧
                Thread = New Thread(New ThreadStart(AddressOf cs))
                Thread.Start()
            Else
                Response.Write(Thread.IsAlive)
            End If
        End Sub
        Sub cs()
            Thread.Sleep(100000)
        End Sub
    执行了 http://localhost:4210/WebSite1/?asd=22就把cs()挂在后台吧
    怎么还用  http://localhost:4210/WebSite1 获取挂在后台线程
    找到个和我想的差不多 看样是没办法控制线程


    我在aspx页中创建了一个线程,而且是刷新一次创建一个,刷新了几下,创建了好几个。


    我怎么关闭这些线程?还有我怎么知道这个线程是否已经存在?
    答:线程做完它的工作(过程),并且请求页面的一次处理(参见asp.net页面生命周期)结束,那么所有子线程就随着主线程中的对象释放而消失了。这个过程通常是一瞬间就完成的。
    答:我的线程是无效循环的,有什么办法手动停下来
    2009年7月1日 10:02
  • 你这个问题影响性能很大 刷新一下创建一个线程?你用session保存一个数值 然后这个数字new几个对象

    2009年7月1日 12:33
  • using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Threading;
    
    public partial class HTML_CSS_JAVASCRIPT_X200907012024 : System.Web.UI.Page
    {
        private Thread CurThread
        {
            get
            {
                // 把线程记录到 Session 中,可以直接操作 CurThread.Abort() 终止线程
                if (Session["CurThread"] == null)
                {
                    Thread fCurThread = new Thread(new ThreadStart(Sleep));
                    fCurThread.Start();
                    Session["CurThread"] = fCurThread;
                }
    
                return (Thread)Session["CurThread"];
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            // CurThread 
            Response.Write(CurThread.ThreadState.ToString());
        }
    
        private void Sleep()
        {
            Thread.Sleep(10000);
        }
    }
    

    知识改变命运,奋斗成就人生!
    2009年7月1日 12:46
    版主
  • 你好,

    C#中并没有提供用于根据id或name来寻找线程的方法。
    因此如果你一定要对创建的线程以后再进行操作。

    你只有如X.X.Y那样将创建的thread放入session或者application保存。

    再次从上面的对象中取出时,你可以根据它的IsAlive等属性来判断改线程的状态。
    Microsoft Online Community Support
    2009年7月2日 3:36
  • 也是啊 放在session或application里 还没测试应该成功 谢谢大家了
    2009年7月2日 10:07