问题标签 [synchronize]

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 投票
2 回答
3013 浏览

c++ - 实现线程安全的数组

我想实现一个类似数组的数据结构,允许多个线程同时修改/插入项目。我如何才能获得它的性能?我围绕 std::vector 实现了一个包装类,并使用临界区来同步线程。请在下面查看我的代码。每次一个线程想要处理内部数据时,它可能不得不等待其他线程。因此,我认为它的表现并不好。:( 有什么想法吗?

0 投票
1 回答
1085 浏览

ruby - ruby 异常如何导致 mutice 解锁?

最近,我一直在使用 Ruby 的线程,并且发现了一个稍微出乎意料的行为。在临界区,调用raise会导致互斥体释放。我可以期待这个synchronize方法及其块,但它似乎也发生在单独调用lock和时。unlock

例如,下面的代码输出:

...我希望y在宇宙热寂之前被阻塞。

为什么即使 x 线程中的 m.unlock 从未执行过,也允许 y 线程运行?

0 投票
4 回答
7302 浏览

java - java中的同步关键字和静态类

我正在阅读最初来自(我相信)IBM developerworks 站点的线程教程。在其中,他们讨论了同步关键字以及同步代码块如何被实际对象锁定,而不是代码块本身。

例如,在下面的代码中,作者指出即使静态类 '<code>Thingie 的setLastAccess方法被列为同步,它下面定义的两个线程也可以setLastAccess同时调用,因为它们对 thingie 使用不同的值。但是,如果 thingie 是静态的,这是否意味着它们使用相同的值?

变量名是否只需要不同,即使它们指的是同一个对象?

0 投票
5 回答
5306 浏览

java - Java同步对象

如何同步同一个类的两个不同方法以锁定同一个对象?这是一个例子:

问题是如何在执行 doJob 时阻止 run() 访问 myList,反之亦然?

想象一下:我启动线程并开始将元素添加到我的列表中。在一个随机的时刻,我从另一个持有对我的线程的引用的类中调用 doJob()。

我应该怎么做锁?谢谢!

好的,我理解了锁的概念,但现在我还有一个问题。

假设我有一个类,public static myList并且只有该类的一个实例。从那个实例中,我创建了它n的实例,Thread它获取该列表的每个元素并用它做一些事情。

现在,在特定的时刻,myList被更新。那些已经在处理 myList 元素的线程会发生什么?更新时我应该如何锁定访问权限myList

0 投票
2 回答
5926 浏览

android - 在 Android 中同步两个水平滚动视图

我尝试按照这篇文章Synchronize ScrollView 滚动位置 - android的建议进行操作, 但遇到了问题。

背景 - 我想要一个具有水平和垂直滚动的表格布局,但我希望第一行和第一列始终存在 - 就像 excel 的冻结窗格一样。不幸的是,Android java编程似乎几乎是不可能的……让我很头疼。我已经设置好了,如果我可以同步这两个水平滚动视图,那么我会让表格按照我想要的方式工作。

我遵循了上面发布的链接中的建议,我遇到的问题就是这个。当我实现应用程序强制关闭

scrollView1.setScrollViewListener(this);

我认为问题可能是我声明 ObservableScrollViews 的方式。我没有使用 XML - 所有对象都是以编程方式创建的。我尝试使用

private ObservableScrollView oScrollViewOne = new ObservableScrollView (this);

但这也会导致关闭力。(我可以创建一个常规滚动视图,为其分配一个 ID,然后使用

scrollView1 = (ObservableScrollView) findViewById(ID); 其中 ID 是我给滚动视图的整数。

如果我不使用 XML 布局,我想知道如何处理下面的评论以及如何使用它们。

我们应该在布局中指定这个新的 ObservableScrollView 类,而不是现有的 ScrollView 标签。

com.test.ObservableScrollView android:id="@+id/scrollview1" ...

使用显式代码实现两个水平滚动视图同步的任何其他建议 - 不仅仅是使用 OnTouchMotionEvent 或其他想法而不提供代码的建议,正如我之前所见。

这是错误代码

这是第 12 行

0 投票
2 回答
2362 浏览

linux - 在 bash 中从外部服务器打印时间

我想知道是否可以简单地Unix timestamp从外部服务器检索 a (NTP我想使用 )。我知道有ntpd,它将当前系统时间更新为服务器给出的时间,NTP但我只想阅读timestamp. Bash是否可以在 Linux 中使用命令?如果没有,我想我只需要编写一个 Python(或其他)应用程序来获取它并在 shell 上打印它。

0 投票
4 回答
2228 浏览

java - 如何在 Java 中实现多线程

我必须多线程一个方法,该方法以 1000 的批次运行代码。我需要将这些批次分配给不同的线程。

目前我已经产生了 3 个线程,但所有 3 个线程都在挑选第一批 1000 个。我希望其他批次不应该选择同一批次,而是选择其他批次。

请帮助并提出建议。

0 投票
3 回答
2417 浏览

iphone - NSUserDefaults standardUserDefaults 返回 nil

我已经看到了一些关于此的问题,但我认为这些问题并不能解决我的问题。

在我的方法中,我有......在一个 if 语句中,我在第一次启动我的应用程序时使用它来设置默认值。

再往下,我用另一个键做同样的事情。

然后我运行这个...

这会导致错误。

由于未捕获的异常“NSRangeException”而终止应用程序,原因:“-[NSMutableArray objectAtIndex:]: index 2147483647 beyond bounds [0 .. 0]”

所以我尝试了......直接在那条线之前......

str 返回零。

在我的 constants.h 文件中,我有...

是的,accountArray 是从我的数据库中填充的并且具有值。

我不明白为什么我得到零以及我必须做些什么来解决这个问题?从我读过的内容来看,这应该可行。

0 投票
1 回答
1362 浏览

multithreading - Delphi 线程:在其方法中使用 Synchronize 时,CriticalSection 未“发布”

在我的项目中,我有一个可能由线程本身、其他线程或 VCL(主应用程序)修改的线程。因此,我对每次数据访问都使用 TCriticalSection.Acquire / Release。

正常情况下,下面的代码按预期工作:进入Acquire,Synchronizes with DoCallback,然后释放锁。但是,如果任何其他上下文在它已经被锁定的时候获得了锁,那么下面的代码的执行将在 Synchronize 处停止——并且这一次,它不会进入 DoCallback 方法。

我是否应该跳过 Synchronize 方法(即使 Synchronize 的代码调用 VCL)并依赖于 CriticalSection 本身?这种行为的原因是什么?

主线程代码:

0 投票
1 回答
1356 浏览

system.reactive - 在 RX 中同步多个订阅

是否可以强制多个 RX 订阅到不同的 observables连续(不是同时)运行?

我知道我可以为此使用 EventLoopScheduler,但这会降低性能,因为所有处理都将在单个线程上完成。