thread-safety

    1热度

    1回答

    这是一个好的做法,并且足以确保VB.NET中的方法DoSomething的线程安全性? Public Class MyForm : Inherits Form Public Sub DoSomething(parameter As Object) If Me.InvokeRequired Then Me.Invoke(Sub() DoSomething(par

    9热度

    3回答

    我想了解多线程如何在Java中工作。我了解Volatile和Synchronization之间的区别。 Volatile是关于可见性,并不保证同步。当我们使用多线程环境时,每个线程都会在它们正在处理的变量的本地缓存上创建自己的副本。更新此值时,更新首先发生在本地缓存副本中,而不是在实际变量中。因此,其他线程对其他线程正在改变的值不可知。这是volatile进入图片。易失性字段会立即写入主内存,并从

    0热度

    2回答

    正如问题标题所说,是Thread.getId()线程安全?我最近遇到了一个问题,而多线程和解决方案是删除getId()调用,因为它正在使线程挂起。

    0热度

    1回答

    所以我有一个singleton类管理登录到我的应用程序中的当前用户。 它看起来像这样 class SessionManager { static let shared = SessionManager() var loggedInUser: User? } 的问题是,如果我想从后台线程获取用户对象,我不能,因为我得到以下异常: 'RLMException', reaso

    3热度

    1回答

    我有一个如下所示的API,其中Baz是工作者的实施。 这个Bar需要是线程安全的,当与Baz的回调交互时,这会变得棘手。 当前baz实例需要在回调中引用(可以在工作线程或同步调用)。 的意见应该显示问题: final class Bar { final Lock lock = new ReentrantLock(); Baz baz; // Guarded by lock.

    0热度

    1回答

    我有一个关于线程安全和HashMaps这样的问题。更具体地说,我想知道是否有一个线程尝试从HashMap中读取数据的机会。这里有一个粗略的例子: 我称之为 “TestClass的” 一类: public class TestClass implements Runnable { // New thread TestThread testThread = new TestThr

    0热度

    1回答

    相同的项目,如果我有对将在不同的线程中运行循环下2:可能出现 for (int ii = 1; ii < times.Length; ii+=2) { if (times[ii] - times[ii - 1] > maxGap) return false; } for (int ii = 2; ii < times.Length; ii += 2) {

    0热度

    2回答

    我遇到了多处理模块的麻烦。我有使用锁,但下面的代码仍然不安全,我不知道为什么,有时计数器不会等于100,我该如何修复代码让它安全? import random import threading from multiprocessing import Pool, Manager import time lock = threading.Lock() def a_complex_op

    2热度

    1回答

    我试图把一个(非常)大的矢量,并将其中的所有值重新分配到多维(2D)矢量>中。 为了避免重新分配,多维向量的两个维都调整为正确的大小,以避免重新分配。 目前,我正在做它单线程,但它是需要重复发生的事情,并且由于大尺寸(〜7秒)非常缓慢。问题是,对于我来说,是否对于每个2D元素使用线程是否是线程安全的。 一些伪代码: vector<string> source{/*assume that it is

    1热度

    2回答

    说我有其中有对象Photo的Array类: class PhotoManager { fileprivate var _photos: [Photo] = [] var photos: [Photo] { return _photos } } 我读one article它说以下内容: 默认情况下,在Swift类实例通过引用传递并且 结构体按值传递。