DCL单例及synchrosized问题

 疑问待解:

1 synchronized代码块执行完后,在没有return INSTANCE之前,其他线程是否可见这个对象(因为synchronized出块后会把工作内存写到主存)? 如果可见,那么return的作用是不是可有可无?

2 假如synchronized在执行new Singleton03时,会不会发生cpu时间片用完了?