diff --git a/person_detection/app.py b/person_detection/app.py
index 3605ea0..05eaba4 100644
--- a/person_detection/app.py
+++ b/person_detection/app.py
@@ -63,4 +63,4 @@
 
 if __name__ == '__main__':
     args = build_argparser().parse_args()
-    app.run(host='0.0.0.0', threaded=True)
+    app.run(host='0.0.0.0', threaded=False, processes=3)
diff --git a/person_detection/base_camera.py b/person_detection/base_camera.py
index 0998e1a..28ee57d 100644
--- a/person_detection/base_camera.py
+++ b/person_detection/base_camera.py
@@ -1,23 +1,22 @@
-import threading
-from queue import Queue
+from multiprocessing import Process, Queue
 
 
 class BaseCamera(object):
-    thread = {} # background thread that reads frames from camera
+    process = {} # background process that reads frames from camera
     frame = {} # frame queue
 
     def __init__(self, device=None, idle=False):
-        """Start the background camera thread if it isn't running yet."""
+        """Start the background camera process if it isn't running yet."""
         self.device = device
-        if self.device not in BaseCamera.thread:
-            BaseCamera.thread[self.device] = None
-        if BaseCamera.thread[self.device] is None:
+        if self.device not in BaseCamera.process:
+            BaseCamera.process[self.device] = None
+        if BaseCamera.process[self.device] is None:
 
             self.frame[device] = Queue(100)
 
-            # start background frame thread
-            BaseCamera.thread[self.device] = threading.Thread(target=self._thread, args=(self.device))
-            BaseCamera.thread[self.device].start()
+            # start background frame process
+            BaseCamera.process[self.device] = Process(target=self._process, args=(self.device))
+            BaseCamera.process[self.device].start()
 
             # wait until frames are available
             _ = self.get_frame()
@@ -32,10 +31,10 @@
         """"Generator that returns frames from the camera."""
         raise NotImplementedError('Must be implemented by subclasses.')
 
-    def _thread(self, device):
-        """Camera background thread."""
+    def _process(self, device):
+        """Camera background process."""
         frames_iterator = self.frames()
         for frame in frames_iterator:
             BaseCamera.frame[device].put(frame, block=True)
 
-        BaseCamera.thread[device] = None
+        BaseCamera.process[device] = None
