Does this Actor implementation has synchronization problems?
There is a problem.. You post() your message and it gets assigned in synchronized block, but it gets accessed in non-synchronized block. The field is not volatile therefore even though the reference to this.message might be visible to ThreadB, the inner state of the object might be still invisible. So message.run() may get you into a trouble.

In order to make things right this.message should be marked as volatile. Read about safe publishing in Java for more details.