<* ThreadController 라이브러리 *>
● ThreadController는 복잡한 delay() 함수 없이 여러 개의 작업을 독립적이고,
주기적으로 실행할 수 있도록 도와주는 ArduinoThread 라이브러리 핵심이다.
● 아두이노는 기본적으로 싱글 스레드 기반이라 동시에 여러 작업을 처리하기 어렵다.
▶ThreadController는 각각의 작업(Thread)을 등록하고,
loop()가 실행될 때 주기(Interval)에 맞춰 해당 작업들의 실행 여부를 판단하여 실행한다.
◎ 아두이노에서 여러 작업을 동시에 처리할 때 ThreadController를 사용하지 않고
스레드 객체만 생성한다면, 스레드가 주기적으로 실행되지 않거나
메인 루프에서 스레드 실행을 수동으로 제어해야 하는 불편함이 발생한다.
◎ ThreadController는 주기(interval)에 맞게 run() 메서드를 호출해 주는 역할을 한다.
◎ ThreadController를 쓰지 않으려면 메인 loop()문 안에서
각 스레드 객체의 .shouldRun()과 .run()을 일일이 조건문으로 확인하고 실행해주어야 한다.
◎ 멀티스레딩 환경을 구축하려면 ThreadController에 스레드를 추가하고,
메인 루프에서 .run()을 실행시켜야 한다.