# golang队列实现生产者+消费者,简单示例 **Repository Path**: lianglc/go_queue ## Basic Information - **Project Name**: golang队列实现生产者+消费者,简单示例 - **Description**: golang队列实现生产者+消费者,简单示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-06-26 - **Last Updated**: 2023-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # go_queue golang队列实现生产者+消费者,简单示例 ### 目录及文件说明 go_queue/ ├── main.go 入口文件 ├── config.json 配置文件,需此处配置redis连接信息 ├── redis redis连接实例 ├── config 配置包 └── queue 队列包目录 ├── job 具体消费的实例,负责业务处理 ├── queue.go 队列对象 ├── consumer.go 消费者 ├── product.go 生产者 ├── job_interface.go 消费者接口 └── job_implement.go 消费者接口实现 ### 逻辑说明 queue是主要的队列逻辑处理包 1. product.go, consumer.go负责队列生产和消费 2. 创建队列流程: (1) 在queue/job中创建一个消费业务处理实例,定义实例函数如NewJobOneQueue,定义队列名称QueueName,业务逻辑写在Handle函数中,参考queue/job/one.go (2) 调用上一步定义的实例函数获得队列对象,如果有数据,就往Data添加数据,参考product_test (3) 抛队列: 将定义好的对象往product中发送 3. 消费队列流程: (1) 实例需要消费的job(有多少个消费目标就要实例多少个),往Consumer中Run (2) Consumer中的Run,根据传入的对象,在redis中取出对应的队列,调用其中的Handle方法进行消费 ### 测试 go run main.go