示例#1
0
void thread_func_yield_overhead(void *arg)
{
    ABT_TEST_UNUSED(arg);
    int i;
    for (i = 0; i < iter; i++) {
    }
}
示例#2
0
void thread_func_yield(void *arg)
{
    ABT_TEST_UNUSED(arg);
    int i;
    for (i = 0; i < iter; i++) {
        ABT_thread_yield();
    }
}
示例#3
0
void fn3(void *args)
{
    ABT_TEST_UNUSED(args);
    int i = 0;
    ABT_test_printf(1, "Thread 3 iteration %d signal eventual \n", i);
    char *data = (char *) malloc(EVENTUAL_SIZE);
    ABT_eventual_set(myeventual, data, EVENTUAL_SIZE);
    ABT_test_printf(1, "Thread 3 continue iteration %d \n", i);
}
示例#4
0
void fn2(void *args)
{
    ABT_TEST_UNUSED(args);
    int i = 0;
    void *data = malloc(EVENTUAL_SIZE);
    ABT_test_printf(1, "Thread 2 iteration %d waiting from eventual\n", i);
    ABT_eventual_wait(myeventual,&data);
    ABT_test_printf(1, "Thread 2 continue iteration %d returning from "
            "eventual\n", i);
}
示例#5
0
void thread_func_yield_to_overhead(void *arg)
{
    arg_t *my_arg = (arg_t *)arg;
    int eid = my_arg->eid;
    int tid = my_arg->tid;
    int nid = (tid + 1) % num_threads;
    ABT_thread next = g_threads[eid][nid];
    ABT_TEST_UNUSED(next);
    int i;

    for (i = 0; i < iter; i++) {
    }
    ABT_thread_yield();
}
示例#6
0
void thread_func(void *arg)
{
    ABT_TEST_UNUSED(arg);
}