diff options
Diffstat (limited to 'docs/examples/tutorial/parallelization/manual_work.pyx')
-rw-r--r-- | docs/examples/tutorial/parallelization/manual_work.pyx | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/examples/tutorial/parallelization/manual_work.pyx b/docs/examples/tutorial/parallelization/manual_work.pyx new file mode 100644 index 000000000..886015839 --- /dev/null +++ b/docs/examples/tutorial/parallelization/manual_work.pyx @@ -0,0 +1,25 @@ +# tag: openmp + +from cython.parallel cimport parallel +from openmp cimport omp_get_thread_num + + + + +cdef void long_running_task1() nogil: + pass + + + +cdef void long_running_task2() nogil: + pass + +def do_two_tasks(): + cdef int thread_num + with nogil, parallel(num_threads=2): + thread_num = omp_get_thread_num() + if thread_num == 0: + long_running_task1() + elif thread_num == 1: + long_running_task2() + |