C#.NET Q&A

C# 윈폼 - 일정하지 않은 시간에 따른 데이터 처리에 관하여 질문합니다. 프린이 평점: 없음 조회: 224
안녕하세요.
C# 공부를 하는도중 시간 정보에 따른 데이터처리에 관하여 궁금한점이 생겨 질문드립니다.

프로그램 설명은
ListView(이하 리스트뷰)에 배열3(요일 / 날짜,시간 / 내용 ) 의 정보를 넣어 리스트뷰에 아이템을 추가하고

예시1
요일 / 날짜,시간 / 내용 
       / 2019년 03월 05일 오전 9시 00분 00초 / 출근시간
예시2
금 / 오후 6시 00분 00초 / 행복회로 풀가동!
예시3
토,일 / 오전 8시 00분 00초 / 알차게 시간쓰자!

backgroundWorker(이하 백그라운드) 에서 컴퓨터의 현재시간 정보(DateTime.Now.ToString)를 지속적으로 가져와
리스트뷰의 아이템과 일치하는 요일+시간 혹은 날짜+시간이 있으면 textbox1에 내용을 출력하는 프로그램을 만들었는대요.

(핸드폰의 알람시계같은 프로그램)

여기서 생긴 질문이

Thread에서 지속적으로 현재시간 정보를 확인하면서 데이터를 처리하는게 맞을까?
라는 의문점이 생겼습니다.
다른곳에도 물어봤지만 다른분들의 의견도 궁금하여 질문해봅니다.

리스트뷰의 아이템의 정보는 List<string> list_view = new List<string>(); 라는 List에 담아두고
알림을 추가하거나 제거할때 만들고 제거하도록 했습니다.

백그라운드의 날짜+시간 부분의 소스코드는
while (true)
{
    // 리스트뷰의 아이템을
    for ( int i = 0 ; i < list_view.Count; i++)
    {
        // 리스트뷰의 LIst의 정보를 ;단위로 나눈다.
        string[] list_view_split = list_view[i].Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
        // 컴퓨터의 현재 시간정보
        string datetime = DateTime.Now.ToString("yyyy년 MM월 dd일 tt h시 mm분 ss초");
        // 리스트뷰 아이템의 날짜+시간 정보와 해당하는 인덱스의 string 개체의 값이 시간정보와 일치하면
        if(list_view_split[1].Equals(datetime))
        {
            textBox1 += "알림 : " + list_view_split[2];
            Thread.Sleep(1000);
        }
    }
    // 리스트뷰에 아이템이 없으면
    while(listView1.items.Count <= 0)
    {
        Thread.Sleep(1000);
    }
}

이런식으로 해봤는대 안되는건 아니지만 시간정보가 많아진다거나
이게 PC에 지속적으로 켜져있어도 문제가 없는지... 걱정도 되고

여러 정보를 찾아본 결과
리스트뷰에 아이템이 추가될때마다 단순한 대기메서드를 사용하게될경우 알람을 삭제했을때 문제가 되기도 하며
또한 매주 혹은 월화수목금(평일) 혹은 월수금 등등 요일을 따지게 될경우 큰 제한이 있는것같아 무리일것같고
프로그램이 꺼졌다 켜질때의 문제도 있는것 같을것 같다고
생각이 들어서 좋은 방법이 떠오르지 않아 질문합니다 (__)
태그 : 날짜 시간 시간정보 알림 요일 일정시간 특정 C#
작성자 정보
프린이
Level 6
 [EXP.9/14]

메일:  비공개
글등록 +12 48 덧글등록 +3 9
자기소개
C# 윈도우폼 신입 1년차 달리고있는 코딩할줄 모르는 신입
글 공유하기 |
  tweet facebook
2019-03-05 오후 5:41:24
나도한마디
사용자
지후니파파            [2019-03-05]
Level 33
 [EXP.63/80]
제가 파악한건 list view에 있는건 Alarm List같고 해당 시간이 일치하면 textbox1에 보여줄려고 하는거 같네요

일단 1초 단위로 도는 쓰레드에서 시간을 추출하고 매초 마다 비동기로 list view의 내용들과 시간이 동일한지 비교해서 같으면 내용을 뿌려주는 형태로 하면 될거 같습니다.

매초마다 비동기로 해야 1초 주기의 시간 쓰레드가 지연되지 않기 때문입니다.
시간과 동일한게 list view있는지? 동일하면 뿌려주는 함수를 비동기로 돌리세요
사용자
프린이            [2019-03-12]
Level 6
 [EXP.9/14]
감사합니다 (__)
태그로 엮인글
[WPF Q&A] [wpf c#] 이미지 확대 축소시 확대율 가져오기...  아스피린
[구인&교육정보] [가산동]대기업 외식 브랜드 ERP 시스템 운영 개발자 모집합니다.  채용 담당자
[구인&교육정보] [기흥] UI개발) C#.NET 중급 개발자 모집  인텍솔루션(주)
[구인&교육정보] [인천 송도] C# WinForm 개발자를 모십니다. (신입 or 경력자 가능)  김형규
[구인&교육정보] [ 안산 ] .NET 생산업무 시스템 [ 운영 / 초급 ]  한국정보데이터시스
[구인&교육정보] [ 안산 ] .NET 생산업무 시스템 [ 운영 / 초급 ]  한국정보데이터시스
[구인&교육정보] [안산] 제조관리 운영) C# 초급 or 중급 유지보수 모집  인텍솔루션(주)
[구인&교육정보] [ 수원 / 안산 ] .NET 제조업무 시스템 [ 운영 / 초급 ]  한국정보데이터시스
[C#.NET Q&A] Datagridview 에 지정한 컬럼을 콤보박스로 변환하고 싶습니다.[2]+1  닷지
[C#.NET Q&A] C# 라벨 배열 일괄 추가 방법 문의(For 문 등...)[1]  유델델리
글리스트
윈폼에서 이미지 메타데이터 읽기  jjin96
윈폼에서 쪽지기능 구현방법에 대해 질문드립니다.[2]+3  ofone
.NET Web API 서버 호출 시 DateTime 파라미터 값이 API 에서 변경 됩니다.[1]+1  애기곰
c#에서 spread cell에서 물어볼께 있습니다...  바밤바
C# 서버 질문드립니다![2]+2  코딩아비
프로시져 두번호출 관련문의....[2]  닷지
C# 프로그램과 카카오톡 간 오류[2]  ejqkfmrp
멀티코어링? 멀티스레딩? 질문입니다.[1]+1  왕초보자
C# 폴더생성 문제[4]  훈쓰쓰훈
C# 윈폼으로 개발된 앱에 pg사의 결제모듈을 붙일 수 있는 방법이 있을까요?[1]+1  ofone
 ★현재글->   C# 윈폼 - 일정하지 않은 시간에 따른 데이터 처리에 관하여 질문합니다.[1]+1  프린이
TreeView 만드는데 있어서 조언 좀 구하고자 합니다..[1]+1  악마성
c# webbrowser 첫 페이지만 로딩이 느린이유??  penmouse
윈폼 Datagridview 에서 엑박(redbox) 나는 이유가 뭘까요... [2]+2  밍님
웹폼 텍스트박스에서 TextMode에서 Password에 값넣기  비베씨샾
[RE] 웹폼 텍스트박스에서 TextMode에서 Password에 값넣기  아르디스
pcm 데이타를 플레이시키려면 어떻게하면되나요?[1]  엿장수
delegate event 사용 방법에 대해 질문드립니다.[1]  개발초보초보
foreach 문을 for 문으로 변경하고 싶습니다.[1]  insurang
특정 문자에 대해 처리하는 좋은 방법이 있을까요?[2]+1  꾸레이
c# split, Join 질문드리빈다~[5]+3  키쿄쿄쿄키쿗