self
solo funcionará si lo llamas directamente dentro del bloque pasado a Thread.new
, no si lo llamas desde dentro de un método en otra clase que se ejecuta en ese hilo. Si usa el enfoque Thread.new { |t| p t}
, tendrá que pasar t
si desea utilizarlo dentro de otros métodos que se ejecutan en ese hilo. Pero Thread.current
funciona sin importar desde dónde lo llame.
Usaría Thread.current
, porque hace que sea obvio lo que le está haciendo a cualquiera que lea el código. Es posible que algunos lectores no sepan que si el bloque Thread.new
toma un parámetro, el nuevo hilo pasará a ese parámetro. self
puede no ser 100% claro tampoco. Pero cualquier lector debe poder comprender inmediatamente lo que significa Thread.current
.
im raro encontrar 'self' duerma referirse a la rosca:' Thread.new {p} .join' auto impresiones 'main' – AJcodez