把代码写在一个cpp文件里面
std::thread producer(ProducerTask); // 创建生产者线程.
std::thread consumer(ConsumerTask); // 创建消费之线程.
生产者和消费者线程在不同的类中定义:
int TCPCameraBoxing::StartRecv(int port)
{
int nResult = camera_instance.init_socket(port);
if (nResult < 0) {
camera_instance.stop_socket();
return 1;
}
producer_consumer_instance.Initresource(&instance);
b_producer_running = true;
b_consumer_running = true;
t_consumer = std::thread(&TCPCameraBoxing::ConsumerTask, this); // 创建消费之线程.
t_producer = std::thread(&TCPCamera::listen_and_recv, camera_instance); // 创建生产者线程.
return 0;
}
本文介绍了一种使用C++实现的生产者消费者模式。通过创建生产者和消费者线程来处理数据,生产者负责接收数据,消费者负责处理数据。文中详细展示了如何利用std::thread来启动线程,并通过成员函数传递实例。
88

被折叠的 条评论
为什么被折叠?



