diff --git a/src/shared/algorithms/Algorithm.h b/src/shared/algorithms/Algorithm.h
index cf104dbb5168334f701ef5f88ee8636b4bb96bc2..0dfbc02750163dafd1dd0c9125865caba01b9ef8 100644
--- a/src/shared/algorithms/Algorithm.h
+++ b/src/shared/algorithms/Algorithm.h
@@ -21,6 +21,7 @@
  */
 
 #pragma once
+#include <atomic>
 
 namespace Boardcore
 {
@@ -53,7 +54,9 @@ public:
     void update()
     {
         if (running)
+        {
             step();
+        }
     }
 
     bool isRunning() { return running; }
@@ -64,7 +67,7 @@ protected:
      */
     virtual void step() = 0;
 
-    bool running = false;
+    std::atomic<bool> running{false};
 };
 
 }  // namespace Boardcore