synchronization相关内容

@synchronized 如何在 Objective-C 中加锁/解锁?

@synchronized 是不是不使用“锁定"和“解锁"来实现互斥?那么它是如何锁定/解锁的? 以下程序的输出只是“Hello World". @interface MyLock: NSLock@结尾@implementation MyLock- (id)init {返回 [超级初始化];}- (void)lock {NSLog(@"锁定前");【超级锁】;NSLog(@"锁后");}- ..
发布时间:2021-12-02 18:14:43 移动开发

C++0x 没有信号量?如何同步线程?

C++0x 真的会没有信号量吗?Stack Overflow 上已经有一些关于信号量使用的问题.我一直使用它们(posix 信号量)让一个线程等待另一个线程中的某个事件: void thread0(...){doSomething0();event1.wait();...}无效线程1(...){doSomething1();event1.post();...} 如果我用互斥锁来做到这一点: ..
发布时间:2021-12-01 15:38:59 C/C++开发

AtomicBoolean 中 getAndSet 和 compareAndSet 的区别

线程标题应该是不言自明的......我对 AtomicBoolean 类的以下方法的规范有点困惑: java.util.concurrent.atomic.AtomicBoolean#compareAndSet java.util.concurrent.atomic.AtomicBoolean#getAndSet 我的看法是,当在 if 条件中用作布尔子句时,两者都会导致相同的行为: ..
发布时间:2021-11-30 14:57:26 Java开发

在 Android 中等待 Firebase 异步检索数据

我需要存储他自己异步的 FireBase getValue 方法的结果.我不能使用诸如“onPostExecute()"之类的东西,而且出于我的目的,我无法将所有操作“执行到 onDataChange()"中,因为我将来需要在其他活动中引用一些参考资料. 这是我检索数据的片段: List村庄 = 新的 LinkedList();Firebase ref = new Firebase("M ..
发布时间:2021-11-30 13:45:01 移动开发

fs.writeFile 在承诺中,异步同步的东西

我的代码需要一些帮助.我是 Node.js 的新手,遇到了很多麻烦. 我想做什么: 1) 使用亚马逊产品 (ASIN) 获取 .txt ; 2) 使用 amazon-product-api 包获取所有产品; 3) 将每个产品保存在 .json 文件中. 我的代码不起作用.我想我搞砸了这个异步-同步的东西 - 帮帮我! var amazon = require('amaz ..
发布时间:2021-11-27 08:41:22 其他开发

自动添加帐号

我的应用程序需要从服务器同步一些数据.我添加了必要的类(类似于 SampleSyncAdapter),现在我可以通过“设置/同步和帐户"添加帐户.但是我想在安装应用程序后就已经添加了我的帐户和工作同步(我不希望用户对设置进行任何手动更改).如何做到这一点? 解决方案 Android AtLeap 库包含使用 Account Authenticator 的辅助类.看看它https://git ..
发布时间:2021-11-26 20:57:30 移动开发

如何在android中以编程方式添加自定义帐户?

我正在尝试为我的应用创建一个帐户,在那里我可以将我的联系人与我的帐户(如 facebook、viber、whatsapp 等)联系起来.我希望我的帐户也能在设置的帐户部分中可见.有任何想法吗?我用谷歌搜索了很多,但找不到正确的答案从哪里开始.请帮忙.我试图创建一个帐户如下.这导致我出错. Account account = new Account("Title", "com.package.no ..
发布时间:2021-11-26 20:55:12 移动开发

Java双重检查锁定

我最近看到一篇讨论 Java 中双重检查锁定模式及其陷阱的文章,现在我想知道我多年来一直使用的该模式的变体是否会出现任何问题. 我查看了许多关于该主题的帖子和文章,并了解获取对部分构造对象的引用的潜在问题,据我所知,我不认为我的实施受这些问题的影响.以下模式有问题吗? 如果没有,人们为什么不使用它?我从未见过在围绕此问题的任何讨论中推荐过它. 公共类测试{私有静态测试实例;私有静态布 ..
发布时间:2021-11-25 19:59:51 Java Web开发

java的synchronized关键字的C#版本?

c# 是否有自己版本的 java“同步"关键字? 即在 Java 中,它可以指定为函数、对象或代码块,如下所示: public synchronized void doImportantStuff() {//危险代码放在这里.} 或 public void doImportantStuff() {//琐碎的东西同步(一些锁){//危险代码放在这里.}} 解决方案 首先 - 大多数类 ..
发布时间:2021-11-25 19:36:37 Java Web开发

Java 静态初始值设定项线程安全吗?

我正在使用静态代码块来初始化我拥有的注册表中的一些控制器.因此,我的问题是,我能否保证在第一次加载类时,这个静态代码块只会被绝对调用一次?我知道我不能保证什么时候会调用这个代码块,我猜它是在类加载器第一次加载它的时候.我意识到我可以在静态代码块中的类上进行同步,但我猜这实际上是发生了什么? 简单的代码示例是; class FooRegistry {静止的 {//这段代码只能被调用一次add ..
发布时间:2021-11-25 18:37:22 Java Web开发

同步静态方法如何在 Java 中工作,我可以使用它来加载 Hibernate 实体吗?

如果我有一个带有静态方法的 util 类,它将调用 Hibernate 函数来完成基本的数据访问.我想知道使方法 synchronized 是否是确保线程安全的正确方法. 我希望这样可以防止访问同一数据库实例的信息.但是,我现在确定以下代码是否会阻止在特定类调用 getObjectById 时为所有类调用它. public class Utils {公共静态同步对象 getObjectBy ..
发布时间:2021-11-25 18:03:32 Java Web开发

如何使我的 ArrayList 线程安全?Java 中解决问题的另一种方法?

我有一个 ArrayList,我想用它来保存 RaceCar 对象,这些对象在执行完后立即扩展 Thread 类.一个名为 Race 的类使用 RaceCar 对象在完成执行时调用的回调方法来处理此 ArrayList.回调方法 addFinisher(RaceCar finisher) 将 RaceCar 对象添加到 ArrayList.这应该给出线程完成执行的顺序. 我知道 ArrayL ..
发布时间:2021-11-25 17:49:55 Java Web开发

如何在 Java 中运行类的不同实例的线程之间同步静态变量?

我知道在方法为该对象带来同步之前使用 synchronize 关键字.也就是说,运行同一对象实例的 2 个线程将被同步. 但是,由于同步是在对象级别进行的,运行对象不同实例的2个线程将不会同步.如果我们在方法调用的 Java 类中有一个静态变量,我们希望它在类的实例之间同步.这两个实例在 2 个不同的线程中运行. 我们可以通过以下方式实现同​​步吗? 公共类测试{私有静态整数计数 = ..
发布时间:2021-11-25 16:48:35 Java Web开发

同步与锁定

java.util.concurrent API 提供了一个名为 Lock 的类,它基本上将序列化控件以访问关键资源.它提供了诸如 park() 和 unpark() 等方法. 如果我们可以使用 synchronized 关键字并使用 wait() 和 notify() notifyAll() 方法,我们可以做类似的事情. 我想知道其中哪一个在实践中更好,为什么? 解决方案 如 ..
发布时间:2021-11-25 16:03:19 Java Web开发

在 Java 中同步 String 对象

我有一个 web 应用程序,我正在对它进行一些负载/性能测试,特别是在我们预计有几百个用户访问同一页面并在此页面上大约每 10 秒刷新一次的功能上.我们发现可以使用此函数进行改进的一个方面是将来自 Web 服务的响应缓存一段时间,因为数据没有改变. 在实现了这个基本的缓存之后,在一些进一步的测试中我发现我没有考虑并发线程如何同时访问缓存.我发现在大约 100 毫秒内,大约有 50 个线程试图 ..
发布时间:2021-11-25 14:41:35 Java Web开发

原子/易失性/同步之间有什么区别?

atomic/volatile/synchronized 在内部如何工作? 以下代码块有什么区别? 代码 1 私有整数计数器;公共 int getNextUniqueIndex() {返回计数器++;} 代码 2 私有 AtomicInteger 计数器;公共 int getNextUniqueIndex() {返回 counter.getAndIncrement();} 代码 ..
发布时间:2021-11-25 13:25:06 Java Web开发

System.out.println 的多线程输出是否交错

如果多个线程在没有同步的情况下调用 System.out.println(String),输出是否可以交错?或者每一行的写入都是原子的?API 没有提到同步,所以这似乎是可能的,或者缓冲和/或 VM 内存模型等阻止了交错输出? 编辑: 例如,如果每个线程包含: System.out.println("ABC"); 是保证的输出: ABC美国广播公司 或者可能是: AABC公元 ..
发布时间:2021-11-25 12:58:14 Java Web开发

在 Java 中避免同步(这个)?

每当 SO 上出现关于 Java 同步的问题时,有些人非常渴望指出应该避免 synchronized(this).相反,他们声称,最好锁定私有引用. 给出的一些原因是: 一些邪恶代码 可能会偷你的锁(这个很受欢迎,也有一个“意外"变体) 同一类中的所有同步方法使用完全相同的方法锁,这会降低吞吐量 你也(不必要地)暴露了很多信息 其他人,包括我,认为 synchronized( ..
发布时间:2021-11-25 11:34:47 Java Web开发

在没有打印语句的情况下,循环看不到其他线程更改的值

在我的代码中,我有一个循环等待某个状态从不同的线程改变.另一个线程有效,但我的循环从未看到更改的值.它永远等待. 然而,当我在循环中放入一个 System.out.println 语句时,它突然起作用了!为什么? 以下是我的代码示例: class MyHouse {布尔比萨到达 = 假;无效吃披萨(){while (pizzaArrived == false) {//System.out. ..
发布时间:2021-11-25 10:22:39 Java Web开发