⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 semaphore.c

📁 线程中使用Semaphore的例子
💻 C
字号:
  void reader_function(void);  void writer_function(void);    char buffer;  Semaphore writers_turn;  Semaphore readers_turn;    main()  {     pthread_t reader;       semaphore_init( &readers_turn );     semaphore_init( &writers_turn );       /* writer must go first */     semaphore_down( &readers_turn );       pthread_create( &reader, pthread_attr_default,                     (void *)&reader_function, NULL);     writer_function();  }    void writer_function(void)  {     while(1)     {          semaphore_down( &writers_turn );          buffer = make_new_item();          semaphore_up( &readers_turn );     }  }    void reader_function(void)  {     while(1)     {          semaphore_down( &readers_turn );          consume_item( buffer );          semaphore_up( &writers_turn );     }  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -