我有一个具有递增和递减方法的计数器类,两个方法都是同步的.
public class Counter {
int count = 0;
public synchronized void increment(){
count++;
}
public synchronized void decrement(){
count--;
}
}
Run Code Online (Sandbox Code Playgroud)
从这个例子可以看出,竞争条件不会发生,只有一个线程可以访问增量或减量方法.
现在代替整数原语,如果我用Atomic Integer修改了计数器类并删除了synchronized关键字,我们可以实现同样的目的吗?
public class Counter {
AtomicInteger count = new AtomicInteger();
public void increment(){
count.incrementAndGet();
}
public void decrement(){
count.decrementAndGet();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Yocto 项目构建尽可能小的 linux 映像。我还希望在目标上进行包管理,以便能够添加和更新正在运行的系统的部分。
我可以通过将它添加到我的 conf/local.conf 来启用包管理:
EXTRA_IMAGE_FEATURES = "package-management"
Run Code Online (Sandbox Code Playgroud)
使用 rpm,它会引入基于 python 的 smartpm 包管理器,从而使图像变大。所以我尝试使用 ipk 包,但这仍然取决于 python。
有没有人知道如何以尽可能少的开销在 Yocto 中包含包管理?