社区
C#
帖子详情
请问C#里多线程共享数据的问题
darkeria
2012-10-10 03:00:31
大家好,我写的WPF程序里加了一个后台线程用来采集数据,需要传人一个Model当做调用数据采集函数的参数,但是这个Model又有一些属性需要在图形界面当中刷新。因此碰到了共享数据的问题。
我现在的做法是每次开始采集之前建一个这个Model的深拷贝送进采集数据的线程,然后采完了再赋值给原先的Model,但是每次采集都要先申请个深拷贝总感觉不太舒服,如果我把这个Model跟Model的拷贝能像值类型那样固定下来不用分配空间就好了。
不知道这种情况大家一般怎么解决呢?
...全文
392
6
打赏
收藏
请问C#里多线程共享数据的问题
大家好,我写的WPF程序里加了一个后台线程用来采集数据,需要传人一个Model当做调用数据采集函数的参数,但是这个Model又有一些属性需要在图形界面当中刷新。因此碰到了共享数据的问题。 我现在的做法是每次开始采集之前建一个这个Model的深拷贝送进采集数据的线程,然后采完了再赋值给原先的Model,但是每次采集都要先申请个深拷贝总感觉不太舒服,如果我把这个Model跟Model的拷贝能像值类型那样固定下来不用分配空间就好了。 不知道这种情况大家一般怎么解决呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vssvss
2012-10-11
打赏
举报
回复
可以用backgroundworker 来实现
darkeria
2012-10-11
打赏
举报
回复
你的意思是我在数据采集的线程里访问UI组件是吗?
你们是不是在找BUG
2012-10-11
打赏
举报
回复
之前我开过帖子讨论过这个问题,虽然有几种能够实现的做法,但不是线程安全的,还是在自己的线程中取得数据,然后再ui线程中更新ui的好。另外不明白你为什么要深拷贝一个来传值,
只要model不直接操作画面ui,线程中是可以直接对这个直接操作的
niss
2012-10-10
打赏
举报
回复
这个不是共享的问题,只是UI不能跨线程访问的限制,你需要用Invoke来保证UI的组件被跨线程访问
ViewStates
2012-10-10
打赏
举报
回复
为什么要DEEP CLONE?
风之影子
2012-10-10
打赏
举报
回复
hashtable
C#
多线程
编程实战Code源代码
C#
多线程
编程实战Code源代码 资源是从华章出版社官网下载的
C#
使用SerialPort和API串口的例子
一个集成了SerialPort和API方式实现串口通信的例子.注意线程操作UI的部分图方便使用了不安全的代码,建议改为委托
提高
C#
编程水平的50个要点
提高
C#
编程水平的50个要点 肯定对你有帮助
一次性分享一些.NET板网友高频经常索要的源代码
参见 http://bbs.csdn.net/topics/390886059
C#
多线程
共享
数据
在
多线程
编程中,我们经常要使用
数据
共享
.
C#
中是如何实现的呢?很简单,只要把你要
共享
的
数据
设置成静态的就可以了.关键字static .如下: static Queue q1=new Queue(); static int b=0; 在这
里
我定义了一个整形变量b和队列q1. 接下去就可以创建
多线程
代码了.如下: MyThread myc; Thread[] myt; myt=new Thread[1
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章