selfwill work only if you call it directly in the block passed to Thread.new, and not if you call it from a method of another class that runs on this thread. If you use the approach Thread.new { |t| p t}, you will need to go through tif you want to use it in other methods that run in this thread. But it Thread.currentworks no matter where you call it.
Thread.current, , -, . , Thread.new , . self 100% . , Thread.current.