1. 보통 BackGroundWorker 나 멀티 쓰레드를 돌릴 경우 UI 컨트롤 내용을 변경하려면 크로스 쓰레드 위반 경고 메세지가 뜬다. 2. 이럴 경우엔 UI 컨트롤의 Invoke 메서드를 사용하여 해결 해야함. 아래와 같이 델리게이트를 선언해주고 invoke 해주면 잘 됨. 3. 그리고 ListMsg의 리스트뷰의 ensurevisible 을 사용해주면 리스트가 계속 추가 될때마다 추가된 현재 위치로 라인을 이동해줘서 메세지를 확인하기 편하다.