RT,我有两个avi文件,
A.avi: fps 30 tbr 30 tbn 30 tbc 30.
B.avi: fps 2 tbr 2 tbn 2 tbc 2.
Run Code Online (Sandbox Code Playgroud)
问题是如何在B.avi上设置相同的值30?
我对c ++ 11上的原子操作感到困惑,
我知道原子变量自增量是原子操作,
但我使用赋值给其他值,只是怀疑它.
代码就像:
//....
static std::atomic<int> i; // global variable
//....
// in the thread
int id = ++i;
Run Code Online (Sandbox Code Playgroud)
在不同线程使用赋值时,id是唯一值吗?
测试代码:
#include <thread>
#include <mutex>
#include <atomic>
#include <iostream>
class A {
public:
static int idGenerator;
static std::mutex m;
A () {
// i know this operation will keep the id_ is unique
std::lock_guard<std::mutex> lock(m);
id_ = ++idGenerator;
}
void F(std::string name) {
std::cout << name << " " << id_ << std::endl;
}
private:
int id_; …Run Code Online (Sandbox Code Playgroud)