Hi Manik, thanks for the comment. You're right, JS is single threaded, but Promises technically use a separate "micro-queue" which recieved precendence over the event loop.
In either case, I mentioned "similar to multi-threading concepts" because of that fact of queues vs. threads. So you're correct, they are not the same!
But, if for a moment we set aside starvation (which is a real concern), and also web workers/etc -- then we really can conceptualize Promises as threads! And it's a very powerful way to think about them.
I've written up an Advanced JavaScript Promise slide deck; if you're interested I'll post the link.