当前位置:首页 > C#

winform多线程经典实例超级简单易懂

happyfhb7年前 (2020-01-19)C#3682
摘要:直接上代码  private SynchronizationContext mainThreadSynContext; //在这里记录主线程的上下文;        &n…

直接上代码

  private SynchronizationContext mainThreadSynContext; //在这里记录主线程的上下文;


        private void OnConnected(object state)//由于是主线程的同步对象Post调用,这个是在主线程中执行的
        {
            //这里就回到了主线程里面了
            //做一些事情
            string sss = Convert.ToString(state);
            richTextBox1.AppendText(sss+"\r\n");

            label1.Text =( Convert.ToInt32(label1.Text)+1).ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            mainThreadSynContext = SynchronizationContext.Current;

            for (int i = 0; i < 10; i++)
            {
                Thread thread = new Thread(new ThreadStart(longidceshi));//创建线程

                thread.Start();
            }
            
        }

        public void longidceshi()
        {
          //多线程要做的列子

            for (int i = 0; i < 100; i++)
            {
                mainThreadSynContext.Post(new SendOrPostCallback(OnConnected), i);//通知主线程
            }


        }


扫描二维码推送至手机访问。

版权声明:本文由海海日记-冯海滨博客发布,如需转载请注明出处。

本文链接:http://www.fenghaibin.com/?id=1322

“winform多线程经典实例超级简单易懂” 的相关文章

vb.net 随机函数 random 用法

VB.net 的写法dim rand as new random()i=rand.next(1,100)表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备。命名空间:System程序集:mscorlib(在 mscorlib.dll 中)伪随机数是以相同的概率从一组有限的数字中选…

vb.net 多线程写法

注意 只能调用 不带参数的 sub 如果调用不同类的sub需要定义调用的sub是shared 是共享的 才可以的。相关语法Imports SystemImports System.Threading  '导入系统进程 Public Class Form1 &n…

IIS_WPG用户组

IIS_WPG用户组在安装asp.net web应用程序时,发现文件夹的用户权限总设置不对,结果导致读写access数据库文件出错。仔细研究了一下,发现必须要给IIS_WPG用户组足够的权限,程序才能正常运行。IIS_WPG用户组是做什么的?为了管理的方便,在安装 IIS 6 时创建了 IIS_WP…

asp.net substring截取函数详细用法

asp.net  substring截取函数详细用法字符串截取,substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。substring(int beginIndex, int endIndex)  返回一个新字符串,它是此字符串的一…

学习心得 数据库连接类的书写规范

一般的规范都是建立3个类文件类1:字段(属性)model类2:方法(函数) dal类3:辅助或者就是 本来可以直接通过dal调用的方法 我在重写一遍 起中转作用 可以使程序更加清晰  bll…

C#延时方法片段

 label4.Text = "输入非数字字符";                //延时1秒  &…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。