积极答复者
aspx怎么实现获得线程状况

问题
-
答案
-
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); } }
知识改变命运,奋斗成就人生!- 已标记为答案 肖小勇Moderator 2009年7月3日 3:09
-
你好,
C#中并没有提供用于根据id或name来寻找线程的方法。
因此如果你一定要对创建的线程以后再进行操作。
你只有如X.X.Y那样将创建的thread放入session或者application保存。
再次从上面的对象中取出时,你可以根据它的IsAlive等属性来判断改线程的状态。
Microsoft Online Community Support- 已标记为答案 肖小勇Moderator 2009年7月3日 3:10
全部回复
-
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页面生命周期)结束,那么所有子线程就随着主线程中的对象释放而消失了。这个过程通常是一瞬间就完成的。
答:我的线程是无效循环的,有什么办法手动停下来 -
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); } }
知识改变命运,奋斗成就人生!- 已标记为答案 肖小勇Moderator 2009年7月3日 3:09
-
你好,
C#中并没有提供用于根据id或name来寻找线程的方法。
因此如果你一定要对创建的线程以后再进行操作。
你只有如X.X.Y那样将创建的thread放入session或者application保存。
再次从上面的对象中取出时,你可以根据它的IsAlive等属性来判断改线程的状态。
Microsoft Online Community Support- 已标记为答案 肖小勇Moderator 2009年7月3日 3:10