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

  • 相关阅读:
    位图 与矢量图对比
    用ocam工具录视频及转换视频 ffmpeg
    教学设计-饭后百步走
    教学设计例--跟小猴子一起玩
    教学设计-妈妈跳舞
    教学设计--Scratch2.0入门介绍
    Scratch2.0在线注册用户并使用帮助
    下载Scratch2.0离线版并安装教程
    把Sratch作品转为swf文件
    跟小猴子开心玩
  • 原文地址:https://www.cnblogs.com/luqingfei/p/1724402.html
Copyright © 2020-2023  润新知