问题标签 [shared-variable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
128998 浏览

python - 多处理:如何在多个进程之间共享一个字典?

一个程序,它创建多个在可连接队列上工作的进程Q,并且最终可能会操纵全局字典D来存储结果。(因此每个子进程都可以D用来存储其结果并查看其他子进程产生的结果)

如果我在子进程中打印字典 D,我会看到对其进行的修改(即在 D 上)。但是在主进程加入Q之后,如果我打印D,它就是一个空字典!

我知道这是一个同步/锁定问题。有人可以告诉我这里发生了什么,以及如何同步对 D 的访问吗?

0 投票
1 回答
422 浏览

c++ - Boost线程问题,当一个线程与另一个线程没有相同的副本时如何共享变量?

这可能是一个愚蠢的问题,但我确实在互联网上搜索了有关变量的所有内容,并找到了与互斥锁和竞速条件、锁等相关的所有内容;但似乎没有什么能解决这个简单的问题。

基本上,下面的代码创建了两个线程,并且在每个线程中,变量shared_int被更改以表示它所使用的线程。线程单独运行,并且类本身似乎shared_int在两个不同的线程中有相同变量的两个实例?我遇到的问题是我希望这个变量在任一线程中都可以更改并且也可以读取,但我也希望shared_int从一个线程看到的值在第二个线程中是相同的。这是代码

0 投票
2 回答
3780 浏览

python - Python:为什么这里的进程之间共享多进程锁?

我正在尝试在进程之间共享锁。我知道共享锁的方法是将其作为参数传递给目标函数。但是我发现即使下面的方法也有效。我无法理解进程共享此锁的方式。谁能解释一下?

0 投票
0 回答
162 浏览

python - Unpickable object - 共享和代理对象创建

我有一个不能腌制的类 Inner 和一个类 Outer ,它包含一个我想通过管道或队列在进程之间共享的 Inner 实例。由于 Inner 类,我无法这样做,所以我尝试从 BaseManager 创建一个代理对象,我将共享它而不是 Inner。

我尝试了以下代码,但现在尝试从管理器检索代理对象时出现酸洗错误。

我在这里看到了一些解决方案,我将这段代码放在一起,但没有一个人提到管理器创建时出现错误。我的最终目标是能够将 Outer 对象从子进程传递到其父进程。任何想法如何解决这个问题?

注意:我无法更改内部课程。

0 投票
2 回答
376 浏览

angular - 如何在 Angular 2+ 中存储常量?

这是我之前发布的问题的后续问题。

我的问题是关于在服务上调用方法时得到的奇怪日志输出。console.log输出没有打印服务明确定义的数据。事实证明,罪魁祸首是在调用服务方法时,使用的上下文是进行调用的组件的上下文。

所以我的问题是:在 Angular 2+ 中跨多个组件存储变量的正确方法是什么?

例如,假设我想保留一个变量isLoggedIn。我在哪里保存这个变量?我不能将它保存在服务中,因为当组件调用该服务(即authService.getLoggedInStatus())时,它们不一定会获得isLoggedIn服务的值,而是可能会获得组件中同名变量的值。

那么如何在 Angular 中跟踪共享变量呢?

0 投票
1 回答
32 浏览

multithreading - 如何使用共享变量

我想知道您对我如何编写 QThread 的看法。

我的这部分代码用于处理 LED 显示屏的 PWM。

我的 QThread 的目的是在更改 QThread 中的值时尽可能顺利地工作,否则我可以在 LED 显示屏上看到值更改期间非常快的中断,例如当我使用 QMutex 时。

这就是我选择使用 SIGNAL / SLOT 方式的原因 当我需要根据时间或电阻值改变亮度时,我使用emit SIGNAL_FUNCTION (qint32 new_value)

使用我的方法是否存在使我的应用程序崩溃的风险?还有另一种更正确的方法来处理这种程序吗?

我在下面附上了我的代码。

0 投票
0 回答
54 浏览

c - 有没有办法使用 MPI 库在 C 中的并行编程中获取共享变量或创建类似的功能?

我正在尝试实现一个映射,其中键是映射到唯一数字的数字。换句话说,每个进程在一个数组中保存一组数字,这些数字映射到由同一进程保存的另一个数组中的另一组数字。映射需要在整个过程中是唯一的。我传递了一个带有映射的结构来为每个进程创建映射。但是,这不是并行的,因为我通过进程顺序发送信息。我向所有优秀的互联网程序员寻求帮助,以了解所有进程如何同时查看特定变量?以下是我目前正在使用的代码。提前感谢我到目前为止所获得的所有支持。

}

0 投票
1 回答
364 浏览

java - 为什么共享变量缓存在 CPU 缓存中?

我试图了解 Java 内存模型,但一直未能得到关于 CPU 缓存的观点。

据我所知,在 JVM 中,我们有以下位置来存储本地和共享变量:

所以我的问题是:为什么将局部变量存储在堆栈上,并将(缓存)共享变量存储在 CPU 缓存中?为什么不反过来(假设 CPU 缓存太昂贵而无法存储两者),我们将局部变量缓存在 CPU 缓存中,然后从内存中获取共享变量?这是 Java 语言设计或计算机体系结构的一部分吗?

进一步:就像“CPU 缓存”听起来一样简单,如果多个 CPU 共享一个缓存怎么办?而在具有多级缓存的系统中,共享变量的副本将存储在哪一级缓存中?此外,如果多个线程在同一个 CPU 内核中运行,是否意味着它们共享同一组缓存的共享变量,因此即使未定义共享变量volatile,对该变量的访问仍然是即时可见的到在同一 CPU 上运行的其他线程?

0 投票
2 回答
275 浏览

bash - bash中具有共享变量的多进程

我正在尝试在 bash 脚本中实现动态进度条,这是我们在安装新软件包时看到的那种。为了做到这一点,随机任务将调用进度条脚本作为后台任务,并为其提供一些整数值。

第一个脚本使用管道来提供第二个脚本。

因此,第二个脚本需要不断地接收整数并打印出来。

但是在这里,第二个脚本在更新时不会收到这些值。我做错什么了 ?

0 投票
1 回答
749 浏览

multithreading - 在 Delphi 线程之间共享本机变量

我假设如果线程之间的共享变量具有本机类型,那么原子性应该可以完成这项工作。

但根据下面代码的输出,情况并非如此,至少对于 delphi 而言。

线程 t1 只是将计数器增加 10M 次。同时,线程 t2 正在将计数器递减 10M 次。所以最后的预期计数器值为 0 但我每次都读取不同的值。

在没有锁定的情况下在 Delphi 中的线程之间共享本机变量的正确方法是什么?