繁体   English   中英

在新线程中更新局部变量

Updating a local variable within new threads

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在设计一个多用户应用程序,并希望有一个在所有用户线程之间共享的单例服务类。

在这个类中,我希望有一个方法可以做一些繁重的工作,最终为每个用户编译一个单独的列表,我的印象是,由于这是一个方法,因此每个用户线程都将在此方法上获得自己的单独副本。它的调用堆栈。

由于此过程很耗时,因此我想在该方法中创建多个线程来处理处理并将项目添加到在该方法中声明和实例化的单个列表中。

最后,我将为每个用户构想一个完整的列表,然后将可以在用户线程中的整个应用程序其余部分中使用该列表。


我的问题是:如何在我想在方法内创建的多个线程之间共享方法中声明的列表,同时又保持线程安全?

下面的流程图可能会更好地解释所有内容

在此处输入图片说明

问题暂未有回复.您可以查看右边的相关问题.
1 局部变量上的线程冲突

为什么,在下面的代码中,n最终不是0,它是一些随机数,每次的幅度小于1000000,甚至是负数? 不up.Join()强制两个for循环完成调用WriteLine之前? 我知道局部变量实际上是幕后类的一部分(认为它叫做闭包),但是因为局部变量n实际上是堆分配的,那么每次影响n不是0 ...

2013-08-09 05:05:15 4 560   c#
3 更新线程之间的共享变量

有一个主列表,其中每个条目都包含一个字符串数组。 还有一个从属列表,它实际上是一个哈希集,每个条目都是一个字符串。 我写了两个线程从主列表的从列表中搜索一个项目。 stat有一个成员类,我在发出线程(而不是构造函数)之前就对其进行了初始化。 每个线程要在主列表中搜索从属项时,会将st ...

4 即使使用易失性,没有线程,变量也不会更新

我有以下printf语句,它打印函数的输出: 在语句中, get_time函数使用不同的参数被调用两次。 但是,即使函数在两次调用中返回不同的字符串, printf只打印第二次调用的第一次调用的返回值。 我已经为函数返回变量和函数本身尝试了volatile关键字,但输出仍然相同。 但是,如果我将 ...

5 Python全局变量未在线程中更新

我正在编写代码以使用scale更新全局值VOL。 可以将VOL的初始值传递给函数“ check_keys”,但是,当刻度更改其值时,使用函数“ check_keys”在线程中VOL保持不变。 我在哪里做错了? ...

6 Mysql局部变量没有更新

我尝试使用局部变量来保存用户计数的值,以便计算当前计数与之前的计数之间的比率。 我用这个查询: 我的问题是@count不会更新自己。 这是我的结果: 如果我编辑我的查询并删除我的加入其工作正常。 新查询: 我的问题是为什么会发生这种情况,我怎么能保持我的联接 ...

2015-02-13 19:20:23 1 113   mysql
7 在循环中更新变量

业余脚本编写者,在这里,我正在寻求一些帮助,以使我的循环脚本以所需的方式工作。 因此,我列出了要ping的9个IP地址,这些地址存储在设置有2个字母和1个数字的变量中,如下所示。 我认为无论如何我都面临着两个问题。 第一个是,当尝试调用存储在变量中的IP时,它实际上尝试对我想要的变 ...

8 在线程中使用原子变量

考虑一个包含三个线程A,B,C的程序。 他们有一个共享的全局对象G. 我想在G中使用原子变量(i),它由线程B写入,由A读取。 我的方法是: 在G中声明我: 使用指向G的指针从线程B写入: 并使用相同的方式从线程A中读取它。 如果这些线程同时尝试访 ...

9 TableView不更新线程上的新信息

我针对这个问题制作了一个小型的示例程序。 请记住,我的真实程序更加复杂,并且所有这些类都是必需的,即使在这个小样本中它看起来尺寸过大 主类: } 助手类 线程数 } 资料容器 在这个较小的示例中,在我更大的实现中,GUI表没有更新为新值。 将 ...

10 Python全局变量未更新线程中的值

因此,我使用python进行数字猜想的游戏,我制作了一个线程服务器来接受多个客户端同时玩。 我想做的就是从服务器发送到客户端的每个答案(S小,H高,W赢,L输),并发送一条消息告诉客户端当前连接了多少个客户端,因此为client_count 。 问题在于,第一个客户总是被告知有一个客户在玩, ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM