1. 程式人生 > >面試中常見的50個面試題目及答案

面試中常見的50個面試題目及答案

  1. volatile unsigned int produceCount, consumeCount;
  2. TokenType buffer[BUFFER_SIZE];
  3. void producer(void) {
  4.     while (1) {
  5.         while (produceCount - consumeCount == BUFFER_SIZE)
  6.             sched_yield(); // 緩衝區滿
  7.         buffer[produceCount % BUFFER_SIZE] = produceToken();
  8.         produceCount += 1;
  9.     }
  10. }
  11. void consumer(void) {
  12.     while (1) {
  13.         while (produceCount - consumeCount == 0)
  14.            sched_yield(); // 緩衝區空
  15.         consumeToken( buffer[consumeCount % BUFFER_SIZE]);
  16.         consumeCount += 1;
  17.     }
  18. }