Synchronized is a keyword which prevents access to a particular block of code from two threads; it makes it behave as if it were atomic, ie rather like a single-stage procedure. Only one
thread can gain access at a time.
Thread safe is a common English description for an object which cannot suffer any problems because of access by two threads at the same time.
Go through the
Java Tutorial about concurrency. The Tutorial is required reading!