FPGA数字AGC实现:定点设计与硬件环路优化
2026/8/24 6:43:33
1.预定资源
2.找位置生产
3.释放资源
消费者也类似
int num = 0; pthread_mutex_t mutex; int GetNumber() { pthread_mutex_lock(&mutex); num++; pthread_mutex_unlock(&mutex); return num; } void *consumerRoutine(void *args) { RingQueue<int> *rq = static_cast<RingQueue<int> *>(args); int number = GetNumber(); while (1) { int data; rq->Pop(&data); cout << "con--" << number << " "; cout << "我是消费者,消费了--" << data << endl; } } void *productorRoutine(void *args) { RingQueue<int> *rq = static_cast<RingQueue<int> *>(args); int data = 5; int number = GetNumber(); while (1) { sleep(1); rq->Enqueue(data); cout << "pro--" << number << " "; cout << "我是生产者,生产了--" << data++ << endl; } } int main() { RingQueue<int> *rq = new RingQueue<int>(); pthread_t c, p; pthread_create(&c, nullptr, consumerRoutine, rq); pthread_create(&p, nullptr, productorRoutine, rq); pthread_join(c, nullptr); pthread_join(p, nullptr); return 0; }单生产单消费