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();
        }
    }

  • 相关阅读:
    CentOS Python 安装MySQL-python
    Ubuntu64位安装Adobe Reader 9.5.5
    Codeforces Round #316 (Div. 2) (ABC题)
    cocos2dx 3.2+ 项目创建与问题总汇
    Mongodb的索引
    uva 12083 Guardian of Decency (二分图匹配)
    Linux查看内存使用量和交换区使用量
    053第423题
    [Python]xlrd 读取excel 日期类型2种方式
    求解组合问题的一个迭代算法
  • 原文地址:https://www.cnblogs.com/luqingfei/p/1724402.html
Copyright © 2011-2022 走看看