zoukankan      html  css  js  c++  java
  • Asp.Net多线程小实验

    aspx页面
    <form id="form1" runat="server">
        
    <div>
            
    <asp:ScriptManager ID="ScriptManager1" runat="server">
            
    </asp:ScriptManager>
        
        
    </div>
            
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                
    <ContentTemplate>
            
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="执行耗时操作" /><br />
            
    &nbsp;&nbsp;
                    
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                    
    <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Ping" />
                    
    <asp:Timer ID="Timer1" runat="server" Enabled="False" Interval="1000" OnTick="Timer1_Tick">
                    
    </asp:Timer>
                    
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                
    </ContentTemplate>
            
    </asp:UpdatePanel>
            
    <input id="Text1" type="text" />
        
    </form>

    public partial class ThreadTest : System.Web.UI.Page
    {
        public static int Counter = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Counter = 0;
                Timer1.Enabled = false;
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Timer1.Enabled = true;
            DateTime dtStart = DateTime.Now;

            NewThreadWork newThreadWork = new NewThreadWork();
            newThreadWork.ThreadStart += new System.Threading.ThreadStart(LongTimeOpt);
            newThreadWork.Run();

            TimeSpan ts = DateTime.Now - dtStart;
            this.TextBox1.Text = ts.Milliseconds.ToString();
        }


        private void LongTimeOpt()
        {
            int totle = 100000000;
            for (int i = 0; i < totle; i++)
            {
                for (int j = 0; j < totle; j++)
                    Counter = i;
            }
        }

      
        protected void Button2_Click(object sender, EventArgs e)
        {
            this.TextBox2.Text = Counter.ToString();
        }

        public class NewThreadWork
        {
            private static object obj = new object();
            public System.Threading.ThreadStart ThreadStart;

            public void Run()
            {
                lock (obj)
                {
                    System.Threading.Thread thread = new System.Threading.Thread(ThreadStart);
                    thread.Start();
                }
            }
        }
        protected void Timer1_Tick(object sender, EventArgs e)
        {
            this.TextBox2.Text = Counter.ToString();
        }
    }

  • 相关阅读:
    【LCA倍增】POJ1330-Nearest Common Ancestors
    【AC自动机/fail树】BZOJ3172- [Tjoi2013]单词
    【费用流】BZOJ1221-[HNOI2001] 软件开发
    【KM】POJ2195/HDU1533-Going home
    【KM算法】HDU2255-奔小康赚大钱
    【匈牙利算法】BZOJ1059-[ZJOI2007]矩阵游戏
    【KMP】BZOJ3670-[Noi2014]动物园
    【Treap】BZOJ1588-[HNOI2002]营业额统计
    【Treap模板详细注释】BZOJ3224-普通平衡树
    【tarjan求割顶】BZOJ2730-[HNOI2012]矿场搭建
  • 原文地址:https://www.cnblogs.com/luqingfei/p/1724402.html
Copyright © 2011-2022 走看看