线程传出数组问题

问题描述

我有个主线程中的数组和一个第三方控件的一些属性需要在其他线程中修改数组的值和控件的属性,请问具体如何做??谢谢委托和线程我不大会做,希望给个简单的例子。

解决方案

解决方案二:
对了,刚才问题不知道有没有问清楚,我需要把修改的数组和控件属性值回传到主线程中使用
解决方案三:
不是太明白楼主的意思,帮顶一下吧..
解决方案四:
现在我用ref可以把线程中数组的值可以传出来了,但好像线程采样的数据没想象的那么快,不知怎么回事?
解决方案五:
线程函数能直接访问类的成员把如果访问的控件处于UI线程那就要用Invoke例子我这里没有那里不明白我给你说
解决方案六:
给你个操作线程访问UI线程的代码publicpartialclassForm1:Form{//...内容略publicvoidlistbox1add(stringaa){listBox1.Items.Add(aa);}}操作线程的代码protecteddelegatevoidDlistboxadd(stringaa);publicvoidbb(){//...内容略message="开始连接网站:"+url;_frm.Invoke(newDlistboxadd(_frm.listbox1add),message);}_frm是我传过来得界面句柄具体怎么叫我也弄不准我也新手
解决方案七:
对Windows窗体控件的线程安全调用对Windows窗体控件进行线程安全调用查询控件的InvokeRequired属性。如果InvokeRequired返回true,则使用实际调用控件的委托来调用Invoke。如果InvokeRequired返回false,则直接调用控件。http://msdn2.microsoft.com/zh-cn/library/ms171728(VS.80).aspx
解决方案八:
bb为线程函数

时间: 2024-07-31 09:55:28

线程传出数组问题的相关文章

java的线程组

所有线程都隶属于一个线程组.那可以是一个默认线程组,亦可是一个创建线程时明确指定的组.在创建之初,线程被限制到一个组里,而且不能改变到一个不同的组.每个应用都至少有一个线程从属于系统线程组.若创建多个线程而不指定一个组,它们就会自动归属于系统线程组. 线程组也必须从属于其他线程组.必须在构建器里指定新线程组从属于哪个线程组.若在创建一个线程组的时候没有指定它的归属,则同样会自动成为系统线程组的一名属下.因此,一个应用程序中的所有线程组最终都会将系统线程组作为自己的"父". 之所以要提出

c++-C++,如何将未知长度的string输入数组

问题描述 C++,如何将未知长度的string输入数组 如代码,我发现程序在运行时会跳过cin.get,这是怎么回事啊?另外,关于将未知长度的字符串输入数组,还有什么好办法吗? int main() { int time; scanf("%d", &time); int count=0; while(count < time) { string str; char temp; int i; while((temp=cin.get())!='n') { str +=temp

关于线程的一个小问题:

问题描述 关于线程的一个小问题: 写十个线程,第一个线程求1到10的和,第二个11到20的和,第三个求21到30的和...第10个求91到100的和,求十个线程的和 解决方案 new是个Thread,每个Thread传入起始数字 解决方案二: 我觉得是否可以这样,你创建10个线程,在线程函数中增加一个flag参数,另外,创建一个全局的数组,10个元素,分别存放10个线程自己的值, 在运行这些线程的时候,传入falg参数,比如: static a[10] int; flag int; sum in

[CLR via C#]26. 计算限制的异步操作

原文:[CLR via C#]26. 计算限制的异步操作 一.CLR线程池基础     前面说过,创建和销毁线程是一个比较昂贵的操作,太多的线程也会浪费内存资源.由于操作系统必须调度可运行的线程并执行上下文切换,所以太多的线程还有损于性能.为了改善这个情况,CLR使用了代码来管理它自己的线程池.可将线程池想像成可由你的应用程序使用的一个线程集合.每个进程都有一个线程池,它在各个应用程序域(AppDomain)是共享的.     CLR初始化时,线程池是没有线程的.在内部,线程池维护了一个操作请求

GCD 深入理解(一)

本文由@nixzhu翻译至raywenderlich的<grand-central-dispatch-in-depth-part-1> 虽然 GCD 已经出现过一段时间了,但不是每个人都明了其主要内容.这是可以理解的:并发一直很棘手,而 GCD 是基于 C 的 API ,它们就像一组尖锐的棱角戳进 Objective-C 的平滑世界.我们将分两个部分的教程来深入学习 GCD .   在这两部分的系列中,第一个部分的将解释 GCD 是做什么的,并从许多基本的 GCD 函数中找出几个来展示.在第二

AngularJs页面筛选标签小功能_AngularJS

AngularJS 简介 AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面. AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML. AngularJS 是一个 JavaScript 框架 AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库. AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中:

HashMap在并发下可能出现的问题分析

我们都知道,HashMap在并发环境下使用可能出现问题,但是具体表现,以及为什么出现并发问题, 可能并不是所有人都了解,这篇文章记录一下HashMap在多线程环境下可能出现的问题以及如何避免. 在分析HashMap的并发问题前,先简单了解HashMap的put和get基本操作是如何实现的. >>HashMap的put和get操作 大家知道HashMap内部实现是通过拉链法解决哈希冲突的,也就是通过链表的结构保存散列到同一数组位置的两个值, put操作主要是判空,对key的hashcode执行一

TLS隐藏的入口点

TLS简介 1. 什么是TLS? TLS是Thread Local Storage(线程局部存储)的简称,是一项解决多线程内部变量使用问题的技术.用于将某些数据和一特定线程关联起来,即,这些数据为关联线程所独有(私有).在多线程编程中, 同一个变量, 如果要让多个线程共享访问, 那么这个变量可以使用关键字volatile进行声明; 而如果一个变量不想被多个线程共享访问, 那么就应该使用TLS. 2. 如何使用TLS编程? TLS使用非常简单, 只要对变量声明时使用__declspec(threa

iOS开发之深入理解GCD

本文翻译自 http://www.raywenderlich.com/60749/grand-central-dispatch-in-depth-part-1 原作者:Derek Selander 译者:@nixzhu Github: https://github.com/nixzhu/dev-blog   虽然 GCD 已经出现过一段时间了,但不是每个人都明了其主要内容.这是可以理解的:并发一直很棘手,而 GCD 是基于 C 的 API ,它们就像一组尖锐的棱角戳进 Objective-C 的