zoukankan      html  css  js  c++  java
  • invoke和begininvoke的用法 多线程??

            //声明接受int的方法并返回空的委托。
            public delegate void invokeDelegate();
            //调用委托,
            // invokeDelegate FF = new invokeDelegate(StartMethod);
    
            private void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString() + "主线程1 最先执行"); // 最先执行
                Thread invokeThread = new Thread(new ThreadStart(StartMethod)); //委托创建线程
                invokeThread.Start(); //开始线程
    
    
                string a = string.Empty;
                for (int i = 0; i < 10; i++)      //调整循环次数,看的会更清楚
                {
                    Thread.Sleep(1000);
                    a = a + "循环执行";
                }
                MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString() +"主线程1"+ a);
                
            }
    
            private void StartMethod()
            {
                MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString() + "主线程1 第二执行");
                button1.Invoke(new invokeDelegate(invokeMethod)); //传递一个委托的方法;  依赖此控件来执行委托
                //Thread.Sleep(3000);
                MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString() + "子线程1");
            }
            private void invokeMethod()
            {
                //Thread.Sleep(5000);
                MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString() + "主线程1 _执行委托方法");
            }
    
            static void GetFile(string s)
            {
                try
                {
                    FileInfo fi = new FileInfo(s);
                    Console.WriteLine("文件路径:{0}", s);
                    Console.WriteLine("文件名称:{0}", fi.Name.ToString());
                    Console.WriteLine("文件类型:{0}", fi.Extension.ToString());
                    Console.WriteLine("文件大小:{0} K", fi.Length / 1024);
                    Console.WriteLine("文件创建时间:{0}", fi.CreationTime.ToString());
                    Console.WriteLine("上次访问时间:{0}", fi.LastAccessTime.ToString());
                    Console.WriteLine("上次写入时间:{0}", fi.LastWriteTime.ToString());
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
  • 相关阅读:
    VisualCaptcha – 灵活的可视化验证码解决方案
    Web Uploader
    Concise
    15个前卫的 HTML5 & CSS3 网页设计作品
    Breach
    字体大宝库:20款超细英文字体免费下载
    使用 JavaScript 实现灵活的固定导航功能
    10套免费的 Photoshop UI 元素以及 PSD 素材
    使用 CSS & jQuery 制作一款漂亮的多彩时钟
    我在美国读博士:才发现美国高等教育如此残酷
  • 原文地址:https://www.cnblogs.com/enych/p/12582858.html
Copyright © 2011-2022 走看看