/
githubmirror
/
CPlusPlusThings
Обзор
Документация
Войти
/
githubmirror
/
CPlusPlusThings
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
concurrency/concurrency_v1/chapter2/2.2_transfer.cpp
30 строк
676 B
zhangxing
support bazel complie this project and format code.
30 мар 2024, 17:00
30 мар 2024, 17:00
3c8a3f2
Код
Авторство
О чём код?
// // Created by light on 19-11-5. // #include <iostream> #include <thread> using namespace std; class X { public: void do_length_work() {}; }; void process_big_object(std::unique_ptr<X>) { // TODO } int main() { X my_x; thread t(&X::do_length_work, &my_x); // 1 std::unique_ptr<X> p(new X); p->do_length_work(); std::thread tt(process_big_object,std::move(p)); //std::thread实例的可移动且不可复制性。不可复制保性证了在同一时间点, // 一个std::thread实例只能关联一个执行线程;可移动性使得程序员可以自己决定,哪个实例拥有实际执行线程的所有权。 return 0; }