I don't think
you should ever do that. If each Thread is synchronizing on itself, then the there is no synchronization going on. You might use it for signaling:
But even this, I don't think is a good idea since there can be un-predictable notifications associated with using the Thread object itself as a Lock.
I don't see any good reason to use the synchronized(Thread.currentThread()). Rather lock on the data you are trying to protect or on some other purpose-built object you have more control over.