On Fri, Aug 13, 2010 at 10:15 AM, Chris Hegarty
<chris.hega...@oracle.com> wrote:
> OK, so we'll allow subclasses to crate their own clones but disallow access
> to the default Object.clone implementation. I don't have a particular
> problem with this.
>
> -Chris.

I may be missing something, but if java.lang.Thread.clone() will now
throw CloneNotSupportedException, how would subtypes properly
implement Cloneable? If the subtype calls super.clone(),
CloneNotSupportedException will be thrown. If the subtype calls its
own constructor, that would seem to violate the clone contract for any
further subtypes. I think it would seem best to either strictly forbid
cloning all j.l.Thread and subtypes by making j.l.Thread.clone() final
and always throw CloneNotSupportedException, or if you are concerned
about violating source compatibility by making j.l.Thread.clone()
final then you could make it throw CloneNotSupportedException for
threadStatus != 0 (i.e. NEW threads).

- Dave

Reply via email to