summaryrefslogtreecommitdiff
path: root/docs/examples/tutorial/parallelization/manual_work.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/tutorial/parallelization/manual_work.pyx')
-rw-r--r--docs/examples/tutorial/parallelization/manual_work.pyx25
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()
+