Remove apply()
diff --git a/Demo/threads/Coroutine.py b/Demo/threads/Coroutine.py
index 4cc65f7..10fa303 100644
--- a/Demo/threads/Coroutine.py
+++ b/Demo/threads/Coroutine.py
@@ -115,7 +115,7 @@
         if not self.killed:
             try:
                 try:
-                    apply(me.f, args)
+                    me.f(*args)
                 except Killed:
                     pass
             finally:
diff --git a/Demo/threads/Generator.py b/Demo/threads/Generator.py
index a2713af..63bed9b 100644
--- a/Demo/threads/Generator.py
+++ b/Demo/threads/Generator.py
@@ -22,7 +22,7 @@
             self.putlock.acquire()
             if not self.killed:
                 try:
-                    apply(self.func, (self,) + self.args)
+                    self.func(self, *self.args)
                 except Killed:
                     pass
         finally:
diff --git a/Demo/threads/find.py b/Demo/threads/find.py
index 7d5edc1..14148b8 100644
--- a/Demo/threads/find.py
+++ b/Demo/threads/find.py
@@ -17,7 +17,6 @@
 
 import sys
 import getopt
-import string
 import time
 import os
 from stat import *
@@ -85,7 +84,7 @@
             if not job:
                 break
             func, args = job
-            apply(func, args)
+            func(*args)
             self._donework()
 
     def run(self, nworkers):
@@ -104,7 +103,7 @@
     opts, args = getopt.getopt(sys.argv[1:], '-w:')
     for opt, arg in opts:
         if opt == '-w':
-            nworkers = string.atoi(arg)
+            nworkers = int(arg)
     if not args:
         args = [os.curdir]