def check_gil_released(self, func):
        for n_threads in (4, 12, 32):
            # Try harder each time. On an empty machine 4 threads seems
            # sufficient, but in some contexts (e.g. Travis CI) we need more.
            arr = self.run_in_threads(func, n_threads)
            distinct = set(arr)
            try:
                self.assertGreater(len(distinct), 1, distinct)
            except __HOLE__ as e:
                failure = e
            else:
                return
        raise failure
dataset/ETHPy150Open numba/numba/numba/tests/test_gil.py/TestGILRelease.check_gil_released