标签: ruby multithreading concurrency
我有一个向RabbitMQ发布消息的组件 为了避免在发送消息时阻塞,我使用ruby-concurrency创建了一个线程池。线程池实现有一个参数,用于控制线程在空闲时间过长时终止的时间。
由于Bunny中的channels cannot be shared我将它们初始化为线程局部变量。
我有内存泄漏吗? 当线程在空闲了一段时间后终止时,通道是否会超出范围? 我应该使用ruby-concurrency' ThreadLocalVar代替Thread.current吗?
Thread.current