gpt4 book ai didi

java - Java中有原子方法的实现吗?

转载 作者:行者123 更新时间:2023-11-29 07:50:52 25 4
gpt4 key购买 nike

大家好

我想问一下,在Java中是否有任何类型的实现可以用来将方法/部分代码设置为原子操作,所以它不能停止/暂停(必须执行到最后)。我需要确保当我将 MP3 文件缓冲到缓冲区时,表示为具有该文件比特率大小的帧的前面,线程将读取整个帧,否则操作将失败要做,但要避免缓冲区只读取帧的一部分,避免播放时出现撕裂,数据一致性错误。

我问是因为会有多个线程处理该文件(BufferClassPlayerClassFileInfoClass 等)和文件将被实现为数据的关键部分的典型示例,因此将通过监视器进行同步。也许这可以通过避免调用 Thread.wait()/Thread.notify() 来实现,但我在 Java 方面并不那么先进.

最佳答案

可以使用同步语句:

synchronized(anObject){
performSomeOperation();
}

使用同一对象的每个同步语句都保证等待,直到此类语句中的另一个线程完成。

Hot Licks 评论示例:

synchronized returntype someMethod(parameters ...){
performSomeOperation();
}

在此示例中,锁定的对象是“this”。

关于java - Java中有原子方法的实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21390342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com