future promise shared_future簡單使用
#include
#include
#include
/furture 和promi******************/
int display(const int& value) {
return 10 + value;
}
//不能傳引用,是簡單的值拷貝
int display1(std::shared_future f) {
//地方會一直等待,阻塞狀態,由其它執行緒傳入值
int value = f.get();
return value;
}
//不能傳引用,是簡單的值拷貝
int display2(std::shared_future f) {
//地方會一直等待,阻塞狀態,由其它執行緒傳入值
int value = f.get();
return value;
}
int main()
{
std::cout << “11” << std::endl;
int value = 10;
//取決執行環境
std::future<int>fu = std::async(std::launch::async | std::launch::deferred, display, std::ref(value));
int value1 = fu.get();
std::cout << value1 << std::endl;
//定義一個promise的變數
std::promise<int>promise;
//傳遞下一個執行緒
promise.set_value(10);
//std::future<int> fu11 = promise.get_future();
//共享furture,所有執行緒都可以用
std::future<int>fu11 = promise.get_future();
std::shared_future<int>shared_futrue = fu11.share();
//std::launch::async create thread
//std::launch::deferred
std::future<int>fu1 = std::async(std::launch::async | std::launch::deferred, display1, shared_futrue);
std::future<int>fu2 = std::async(std::launch::async | std::launch::deferred, display2, shared_futrue);
int value11 = fu1.get();
int value22 = fu2.get();
//std::thread t(display1, std::ref(fu11));
}
相關文章
- C++,std::shared_future的使用C++
- Promise的使用及簡單實現Promise
- 簡單理解promisePromise
- Promise的簡單用法Promise
- 簡單易懂的PromisePromise
- Promise 簡單實現Promise
- 使用 Vert.X Future/Promise 編寫非同步程式碼Promise非同步
- 簡單版Promise實現Promise
- Promise 其實很簡單Promise
- Promise 原始碼:實現一個簡單的 PromisePromise原始碼
- promise原理就是這麼簡單Promise
- Promise 基本方法的簡單實現Promise
- 使用Promise解決多層非同步呼叫的簡單學習Promise非同步
- 簡單聊聊ES6-Promise和AsyncPromise
- 來了老弟,最簡單的Promise原理Promise
- 多執行緒07:async、future、packaged_task、promise執行緒PackagePromise
- C++11 執行緒同步介面std::condition_variable和std::future的簡單使用C++執行緒
- 動手實現一個簡單的promisePromise
- 簡單粗暴的去重promise的回撥Promise
- 【併發程式設計】Future模式新增Callback及Promise 模式程式設計模式Promise
- 【C++併發實戰】(三) std::future和std::promiseC++Promise
- 手摸手教你實現一個簡單的PromisePromise
- [譯] 一個簡單的 ES6 Promise 指南Promise
- Dart中的Future使用Dart
- 學習Promise && 簡易實現PromisePromise
- 使用 Promise.withResolvers() 來簡化你將函式 Promise 化的實現~~Promise函式
- 基於Promise實現對Ajax的簡單封裝Promise封裝
- C++11併發程式設計:async,future,packaged_task,promiseC++程式設計PackagePromise
- git簡單使用Git
- OpenFeign簡單使用
- jq 簡單使用
- Quartz 簡單使用quartz
- LinqPad簡單使用
- kvm簡單使用
- 簡單使用 rocketmqMQ
- Badger簡單使用
- Drozer簡單使用
- Github 簡單使用Github