基于C++ Coroutines提案 ‘Stackless Resumable Functions’编写的协程库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

librf.cpp 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "librf.h"
  2. extern void resumable_main_yield_return();
  3. extern void resumable_main_timer();
  4. extern void resumable_main_suspend_always();
  5. extern void resumable_main_sleep();
  6. extern void resumable_main_routine();
  7. extern void resumable_main_resumable();
  8. extern void resumable_main_mutex();
  9. extern void resumable_main_exception();
  10. extern void resumable_main_event();
  11. extern void resumable_main_event_timeout();
  12. extern void resumable_main_dynamic_go();
  13. extern void resumable_main_channel();
  14. extern void resumable_main_cb();
  15. extern void resumable_main_multi_thread();
  16. extern void resumable_main_channel_mult_thread();
  17. extern void resumable_main_when_all();
  18. extern void resumable_main_benchmark_mem();
  19. extern void resumable_main_benchmark_asio_server();
  20. extern void resumable_main_benchmark_asio_client(intptr_t nNum);
  21. int main(int argc, const char * argv[])
  22. {
  23. if (argc > 1)
  24. resumable_main_benchmark_asio_client(atoi(argv[1]));
  25. else
  26. resumable_main_benchmark_asio_server();
  27. return 0;
  28. //resumable_main_resumable();
  29. resumable_main_when_all();
  30. resumable_main_multi_thread();
  31. resumable_main_yield_return();
  32. resumable_main_timer();
  33. resumable_main_suspend_always();
  34. resumable_main_sleep();
  35. resumable_main_routine();
  36. resumable_main_resumable();
  37. resumable_main_mutex();
  38. resumable_main_event();
  39. resumable_main_event_timeout();
  40. resumable_main_dynamic_go();
  41. resumable_main_channel();
  42. resumable_main_cb();
  43. resumable_main_exception();
  44. return 0;
  45. }