목록atomic (2)
일상 코딩
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; mutex mtx; void dotProductNaive(const vector &v0, const vector &v1, const unsigned &&i_start, const unsigned &&i_end, unsigned long long &sum) { for (unsigned i = i_start; i < i_end; ++i) sum += v0[i] * v1[i]; } void dotProductLock(const vector &v0, const vector &v1, c..
#include #include #include #include #include #include #include using namespace std; mutex mtx; int main() { // atomic shared memory // atomic shm(0); // mutex condition int shm(0); // lambda function auto count_func = [&](){ for (int i = 0; i < 1000; ++i) { // 어떤 계산이 복잡한 코드가 들어있는 것을 가정한 코드 this_thread::sleep_for(chrono::milliseconds(1)); // mtx.lock(); // std::lock_guard lock(mtx); // lock(), un..