İş Parçacığı Yürütme   
Bir iş parçacığı örneğinin start() metodunu çağırmak, iş parçacığını yürütmek ve hemen döndürmek için yeterlidir. İş parçacığı eğer varsa diğer iş parçacıkları ile CPU kullanımı için yarışırken, yürütme bir sonraki ifadeden devam eder. Özel bir sistem yöntemi olan thread scheduler (is parcacigi programcisi), iş parçacığını yürütmeye koymaktan sorumludur. İleriki bir noktada bu programlayıcı iş parçacığının yürütülmesini durdurur ve bekleyen iş parçacıklarından birine yürütülmesi için izin verir.
Yeni yaratılmış bir iş parçacığı ona sağlanmış run() metodunun çağırılmasıyla yürütülür. run() metodu döndürdükten sonra iş parçacığı yürütmeyi tamamlar ve olduğu varsayılır. Ölmüş bir iş parçacığı tekrar start() metodu çağırılarak yeniden başlatılamaz, fakat sıradan bir nesne gibi kullanılabilir (özelliklerini okumak, metotlarını çağırmak gibi). Yeni bir iş parçacığı başlatmak için, iş parçacığı sınıfının yeni bir örneği yaratılmak zorundadır.
Her iş parçacığı 1 ile 10 arasında öncelik değerine sahiptir. Yeni yaratılan bir iş parçacığı için varsayılan öncelik değeri 5 dır. İş parçacığı programlayıcısı yürütülecek iş parçacığını atanan bu öncelik değerlerine göre belirler. Yüksek öncelik değerli iş parçacığının CPU u kullanma sansı diğerlerinden daha yüksektir. Bir iş parçacığının önceliği setPriority metodunu çağırarak değiştirilebilir:
myThread.setPriority(<yeni öncelik değeri>);
Bir iş parçacığı yürütülürken, eğer ayrılan zaman dilimi bittiyse veya daha yüksek öncelikli bir iş parçacığı bekliyorsa, programlayıcı yürütmeyi durdurabilir ve başka bir iş parçacığının yürütülmesine izin verir. Bu şekilde iş parçacıkları CPU u kendi aralarında paylaşmış olurlar.
Bir iş parçacığı başka bir iş parçasının yürütülmesini bu iş parçacığının interrupt() metodunu çağırarak kesebilir. Bu yüzden iş parçacığının yürütülmesinde isInterrupted() metodu çağırılarak, iş parçacığının kesilip kesilmediğinin kontrol edilmesi gerekir.