Example #1
0
main()
{
    pthread_t reader;
    pthread_mutex_init(&mutex,NULL);
    pthread_create(&reader,NULL,(void*)&reader_function,NULL);
    writer_function();
return 0;
}
Example #2
0
main()
{
    pthread_t reader;
    delay.tv_sec = 2;
    delay.tv_nsec = 0;

    sem_init( &readers_turn , 0, 1);
    sem_init( &writers_turn , 0, 1);

    //使reader任务阻塞,writer任务先执行
    sem_wait( &readers_turn );

    pthread_create( &reader, NULL, (void *)&reader_function, NULL);
    writer_function();
}