Microsoft MVP성태의 닷넷 이야기
1초에 5회 함수호출 제한 관련 질문입니다. [링크 복사], [링크+제목 복사],
조회: 14286
글쓴 사람
아스파넬
홈페이지
첨부 파일
 

서버에서 트래픽 제한같은걸 걸어놔서 1초에 5회까지만 함수 호출(사용)을 해야 합니다. C# 내에서 이를 구현하려고 하는데 좀 어려워서 질문 드립니다.

함수1(인자1, 인자2, 인자3)

함수2(인자1, 인자2, 인자3, 인자4, 인자5)

함수3(인자1, 인자2)

대충 이렇게 있다고 했을때, 함수종류에 관계없이 1초안에 12번을 실행명령을 했다면 제한이 걸리니 1초안에 5개(명령)를 보내고, 다음 함수 5개를 1초뒤에 보내고.. 나머지2개를 2초뒤에 보내는 겁니다.
[0.12, 0.20, 0.31, 0.52, 0.78] ◀0~1초
[1.00, 1.21, 1.42, 1.53, 1.79] ◀1~2초
[2.13, 2.45 ]... ◀2~3초
              

대충 이런식입니다. 1초에 0건을 실행할수도 있으니 시간이 좀 밀려도 실행만 정상적으로 된다면 문제가 없을것 같습니다. 함수당 걸리는 시간은 0.1~0.2초내로 짧고요.ㅣ
Main Thread(메인폼)에서는 실시간으로 Data를 받아서 form을 갱신하고 있습니다.

Thread를 추가해서 해볼려고 했는데 Thread가 종료되기도 전에 다른함수를 실행해서 대기하는동안 form이 먹통되는 문제가 생기더라구요.

Main Thread에 영향을 주지 않고 순차적으로 1초에 5개씩 명령을 실행하게 하는 방법이 있을지 문의드립니다.








[최초 등록일: ]
[최종 수정일: 3/15/2020]


비밀번호

댓글 작성자
 



2020-03-15 06시33분
간단한 재현 프로젝트를 올려주세요. 그리고 "Thread가 종료되기도 전에 다른 함수를 실행해서 대기하는 동안 form이 먹통"되는 식의 문제는 원칙적으로 말이 안 되는 문제입니다. 스레드에 대한 이해가 아직 부족해서 잘못 사용한 것일 텐데 질문하신 분이 그런 부분을 어떻게 구현했는지 나타낼 수 있는 간단한 재현 코드를 올려주세요.

재현 프로젝트 구성 방법은 다음의 글을 참고하시면 됩니다.

재현 가능한 최소한의 예제 프로젝트란? - 두 번째 예제
; https://www.sysnet.pe.kr/2/0/12181


정성태

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5968orion4/30/2025171winform DataSet.xsd의 암호화 된 ConnectionString 사용 질문 [1]
5966GM B4/30/2025186C#과 python 연동 질문 [1]
5962SunN...4/21/2025532Contextmenu margin 조절 [1]파일 다운로드2
5961GM B4/10/2025935winform => wpf 마이그레이션 방법 질문 [4]파일 다운로드1
5960Kim ...4/9/20251182안녕하세요.. 혹 AI & C# 에 대해서도 다루시나요? [1]
5959vict...2/10/20251881비주얼 스투디오 CLR 코드 탑색 질문입니다. [1]
5958Supe...1/18/20252857C#으로 DLL을 만들때 WebVeiw2을 이용하여 Vb6에서 사용할수 있는지 문의드립니다. [2]
5956fc1/11/20252858한국투자증권 KIS Developers OpenAPI의 C# 래퍼 버전 - eFriendOpenAPI NuGet 패키지 [1]
5955tree...11/8/20244507C#12 책 179 페이지 문의 사항 [2]
5954SunN...10/10/20244974textbox에서 글자입력후 textBox1_KeyUp함수에서listBox1_SelectedIndexChanged 강제호출방법 [1]
5953Roya10/4/20244925c# com host dll을 c++에서 사용할 때, sdk 관련 runtime 을 설치 안하고 제공할수 있을까요?? [1]
5952우광현9/5/20246071서버용 소켓 포트 동적포트 적용시 클라이언트가 호출하는 방법? [2]
5951Kun ...8/21/20245682c++에서 복합데이터 Struct를 .NET Framework에서 구현할 수 있는 방법이 있을까요? [2]
5950SunN...8/18/20246238정석대로 한다면 response.Close() 해야되는지요? [4]
5949SunN...8/16/20246327SqlConnection Open()에서 에러가나면 Close()하는 시점 [3]
5948SunN...8/14/20246206WebRequestMethods.Ftp.MakeDirectory 해제 [3]
5947Roya8/7/20246986c# dll을 cpp lib에서 사용을 할려고 하는데요. CoCreateInstance 에서 지정된 파일을 찾을수 없다고 나오는대요. [4]
5946SunN...8/5/20247092TaskDefinition 에서 사용저가로그온상관없이실행 [3]파일 다운로드1
5945SunN...8/3/20246956윈도우 작업스케줄러 [1]
5944roya8/1/20246902C# dll을 C++ 프로젝트에서 사용을 하고 싶은데, 레지스트리 등록 없이 가능한걸까요?? [2]
5943SunN...8/1/20246765윈도우C#에서 리눅스FTP로 업로드 및 리눅스에 폴더생성(WindowsOS에서C#으로) [3]
5942vict...7/24/20246810dll 을 c#에서 쓰고 싶습니다 [1]
5941vict...7/17/20248290DependencyObject와 같은 스레드에서 DependencySource를 만들어야 합니다. 오류 [2]
5940ckm7/16/20248707선생님 안녕하세요 async await 교착 관련 질문입니다 [1]
5939괴물신인7/9/20248412템플릿 대체할수있는방법이 있을까요? [6]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...