Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. dispatcher = event_dispatcher::current_dispatcher();
  2.  
  3. dispatcher->begin_invoke([]
  4. {
  5.     cout << "begin invoke thread id... " << std::this_thread::get_id() << endl;
  6. }).then([]
  7. {
  8.     cout << "then invoke thread id... " << std::this_thread::get_id() << endl;
  9.     return 5;
  10. }, pplx::task_continuation_context::use_current()).then([](int c)
  11. {
  12.     cout << "and then invoke thread id... " << c << std::this_thread::get_id() << endl;
  13. }, pplx::task_continuation_context::use_arbitrary());
  14.  
  15. //Start first dispatcher on a new thread
  16. std::thread t([]
  17. {
  18.     dispatcher->run();
  19. });
  20.  
  21. t.detach();
  22.  
  23. auto dispatcher2 = event_dispatcher::current_dispatcher();
  24.  
  25. dispatcher2->begin_invoke([]
  26. {
  27.     cout << "Running from second dispatcher" << endl;
  28.     dispatcher->begin_invoke([]
  29.     {
  30.         cout << "running from first dispatcher" << endl;
  31.     });
  32. });
  33.  
  34. /* This blocks, current thread runs the loop */
  35. dispatcher2->run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement