问题标签 [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.
c++ - 实现线程安全的数组
我想实现一个类似数组的数据结构,允许多个线程同时修改/插入项目。我如何才能获得它的性能?我围绕 std::vector 实现了一个包装类,并使用临界区来同步线程。请在下面查看我的代码。每次一个线程想要处理内部数据时,它可能不得不等待其他线程。因此,我认为它的表现并不好。:( 有什么想法吗?
ruby - ruby 异常如何导致 mutice 解锁?
最近,我一直在使用 Ruby 的线程,并且发现了一个稍微出乎意料的行为。在临界区,调用raise
会导致互斥体释放。我可以期待这个synchronize
方法及其块,但它似乎也发生在单独调用lock
和时。unlock
例如,下面的代码输出:
...我希望y
在宇宙热寂之前被阻塞。
为什么即使 x 线程中的 m.unlock 从未执行过,也允许 y 线程运行?
java - java中的同步关键字和静态类
我正在阅读最初来自(我相信)IBM developerworks 站点的线程教程。在其中,他们讨论了同步关键字以及同步代码块如何被实际对象锁定,而不是代码块本身。
例如,在下面的代码中,作者指出即使静态类 '<code>Thingie 的setLastAccess
方法被列为同步,它下面定义的两个线程也可以setLastAccess
同时调用,因为它们对 thingie 使用不同的值。但是,如果 thingie 是静态的,这是否意味着它们使用相同的值?
变量名是否只需要不同,即使它们指的是同一个对象?
java - Java同步对象
如何同步同一个类的两个不同方法以锁定同一个对象?这是一个例子:
问题是如何在执行 doJob 时阻止 run() 访问 myList,反之亦然?
想象一下:我启动线程并开始将元素添加到我的列表中。在一个随机的时刻,我从另一个持有对我的线程的引用的类中调用 doJob()。
我应该怎么做锁?谢谢!
乐
好的,我理解了锁的概念,但现在我还有一个问题。
假设我有一个类,public static myList
并且只有该类的一个实例。从那个实例中,我创建了它n
的实例,Thread
它获取该列表的每个元素并用它做一些事情。
现在,在特定的时刻,myList
被更新。那些已经在处理 myList 元素的线程会发生什么?更新时我应该如何锁定访问权限myList
?
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 行
linux - 在 bash 中从外部服务器打印时间
我想知道是否可以简单地Unix timestamp
从外部服务器检索 a (NTP
我想使用 )。我知道有ntpd
,它将当前系统时间更新为服务器给出的时间,NTP
但我只想阅读timestamp
. Bash
是否可以在 Linux 中使用命令?如果没有,我想我只需要编写一个 Python(或其他)应用程序来获取它并在 shell 上打印它。
java - 如何在 Java 中实现多线程
我必须多线程一个方法,该方法以 1000 的批次运行代码。我需要将这些批次分配给不同的线程。
目前我已经产生了 3 个线程,但所有 3 个线程都在挑选第一批 1000 个。我希望其他批次不应该选择同一批次,而是选择其他批次。
请帮助并提出建议。
iphone - NSUserDefaults standardUserDefaults 返回 nil
我已经看到了一些关于此的问题,但我认为这些问题并不能解决我的问题。
在我的方法中,我有......在一个 if 语句中,我在第一次启动我的应用程序时使用它来设置默认值。
再往下,我用另一个键做同样的事情。
然后我运行这个...
这会导致错误。
由于未捕获的异常“NSRangeException”而终止应用程序,原因:“-[NSMutableArray objectAtIndex:]: index 2147483647 beyond bounds [0 .. 0]”
所以我尝试了......直接在那条线之前......
str 返回零。
在我的 constants.h 文件中,我有...
是的,accountArray 是从我的数据库中填充的并且具有值。
我不明白为什么我得到零以及我必须做些什么来解决这个问题?从我读过的内容来看,这应该可行。
multithreading - Delphi 线程:在其方法中使用 Synchronize 时,CriticalSection 未“发布”
在我的项目中,我有一个可能由线程本身、其他线程或 VCL(主应用程序)修改的线程。因此,我对每次数据访问都使用 TCriticalSection.Acquire / Release。
正常情况下,下面的代码按预期工作:进入Acquire,Synchronizes with DoCallback,然后释放锁。但是,如果任何其他上下文在它已经被锁定的时候获得了锁,那么下面的代码的执行将在 Synchronize 处停止——并且这一次,它不会进入 DoCallback 方法。
我是否应该跳过 Synchronize 方法(即使 Synchronize 的代码调用 VCL)并依赖于 CriticalSection 本身?这种行为的原因是什么?
主线程代码:
system.reactive - 在 RX 中同步多个订阅
是否可以强制多个 RX 订阅到不同的 observables连续(不是同时)运行?
我知道我可以为此使用 EventLoopScheduler,但这会降低性能,因为所有处理都将在单个线程上完成。