summaryrefslogtreecommitdiff
path: root/docs/examples/tutorial/parallelization/manual_work.pyx
blob: 8860158398d9b724f61beac1ea6afa14ed282daf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()