a
word about your example plus the solution offered by the other poster.
if you choose to extend the Thread class, you cannot extend any other classes, which might be a handicap in your business-logic. it's usually way better to let your class implement the Runnable interface.
anyhow, you don't want business-objects in the constructor, better let your thread control
other objects dealing with business logic. say you want a thread to prepare a new record item, let it call ShopBasket.makeNewItem(), and don't burden the control thread with a REcordItem property...
jan