博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 线程之间的数据交互
阅读量:5334 次
发布时间:2019-06-15

本文共 1214 字,大约阅读时间需要 4 分钟。

一. 子线程的数据,赋给主线程的控件

1.实例化线程

 //消息线程

Thread receiveThread = new Thread(new ThreadStart(ReceiveMessageThread));//ReceiveMessageThread为线程的回调方法
receiveThread.IsBackground = true; //设置线程为后台线程.(设置成后台线程后,前台主线程关闭,则此后台线程将强制关闭)
receiveThread.Start(); //启动线程

 

2. 线程回调方法

//定义委托,用于后台线程与主线程的数据交互

public delegate void FuncHandle(string strMessage);

private void ReceiveMessageThread()

        {
            while (true)
            {
                Thread.Sleep(1000);
                FuncHandle fh = new FuncHandle(SetFormReceiveMessage);//实例化委托
                if (this.InvokeRequired)
                {
                    this.BeginInvoke(fh, new object[] { "方法参数值strMessage"});
                }
            }
        }

3. 与主线程交互

//显示接收的消息

private void SetFormReceiveMessage(string strMessage)
{

this.txtMessageBox.Text = strMessage;

}

 

二.子线程访问主线程的静态变量

//消息线程

Thread  threadTimer = new Thread(new ThreadStart(SetServerDatetime));
threadTimer.IsBackground = true;
threadTimer.Start();

//设定时间并每隔一秒更新一次

        private void SetServerDatetime()
        {
            while (true)
            {
                Thread.Sleep(1000);

      //PublicValue.serverDatetime 为主线程的静态变量(保存时间字符串型)

                string ttk = Convert.ToDateTime(Convert.ToString(PublicValue.serverDatetime)).AddSeconds(1d).ToString();
                //改变时间变量
                Interlocked.Exchange<string>(ref PublicValue.serverDatetime, ttk);
            }
        }

转载于:https://www.cnblogs.com/lgSoftLive/archive/2012/12/26/2834094.html

你可能感兴趣的文章
HTTPSQS学习
查看>>
Windows Phone 程序的基本概念和架构
查看>>
【转】oracle的分析函数over
查看>>
java之适配器模式
查看>>
字典练习
查看>>
hdu 4496(并查集逆向添边)
查看>>
hdu 5437(优先队列模拟)
查看>>
(转)POJ推荐50题
查看>>
无法定位序数4369于动态链接库libeay32.dll
查看>>
手把手实现腾讯qq拖拽删去效果(一)
查看>>
子父类不同属性代码执行顺序
查看>>
dbcp 1.4 底层连接断开时内存泄露bug
查看>>
关于密码
查看>>
ASP.NET 导出PPT
查看>>
Git忽略规则及.gitignore规则不生效的解决办法
查看>>
How to fix the sources list
查看>>
Eclipse的数据库插件
查看>>
mysql简单学习
查看>>
嵌入式操作系统
查看>>
URI和URL的区别
查看>>