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

서버에서 트래픽 제한같은걸 걸어놔서 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


정성태

... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5429종범12/16/20207222[WPF] Task 관련 질문 드립니다. [1]파일 다운로드1
5428최선호 donator12/14/20206810성태님 ㅠ.ㅠ 소켓 서버 작동이 이상합니다 ㅠ.ㅜ [1]파일 다운로드1
542712/11/20207421LPBOOL Win32 마샬링 질문이 있습니다. [6]
5426하태12/11/20205691안녕하세요 정성태님! C# winform Calendar 컨트롤 질문 드리겠습니다!. [1]
5425정유경12/10/20205740[왕초보] (4) [1]
5423정유경12/8/20206099[왕초보] (3) [2]
5422이승준12/7/20209517VisualStudio 2019의 인텔리센스가 느려지는 경우가 있나요? [4]
5421정유경12/6/20207165[왕초보] (2) [4]
5420정유경12/5/20206719[왕초보] 랜덤 숫자와 배열에 관한 질문 [1]
5419종범12/4/20207149[WPF] Threadpool사용 시 크리티컬 섹션 대응 질문 입니다. [4]
5418한예지 donator11/27/20207388클래스, 인터페이스 크기를 구하고 싶은데 어떻게 해야 될까요? [1]
5417한예지 donator11/27/20206030인터페이스와 추상클래스에 대해 궁금증이 있습니다. [1]
5416한예지 donator11/27/20205855Object 질문 있어요. [1]
5415한예지 donator11/25/20205932교재 213쪽 예제 4.25 질문드립니다. [1]
5414한예지 donator11/23/20206794제네릭 리스트 출력하는 방법이 궁금합니다. [1]
5413민석11/20/20207334C# minidump를 프로그램이 중단 될 때 만들고 싶습니다. [1]파일 다운로드2
5411원격11/20/20205866visualstdio로 웹 사이트로 만들었을때 원격 디버깅이 가능한가요? [1]
5410최성재11/16/20206228vcpkg로 GDCM 내려받을 때 USE_VTK 설정하는 방법-2번째 질문 [1]파일 다운로드1
5409민성11/16/20209250혹시 다른 질문이긴 한데요 [1]
5408최성재11/16/20206505vcpkg로 GDCM 내려받을 때 USE_VTK 설정하는 방법 [1]
5407민성11/11/20205870안녕하세요 yield return에 대해서 [1]
5406질문자11/10/20206309안녕하세요 wcf nettcpbinding의 timeout에 관해서 질문이 있습니다. [2]
5405민성11/9/20207058안녕하세요 이번에도 또 어려운 질문 같습니다. [1]
5404박진우11/6/20207409안녕하세요. SqlParameter 생성자 관련 질문 있습니다. [1]
5403민성11/5/20207471그리고 한가지만 죄송하지만 더 질문 드리겠습니다. [1]
5402민성11/5/20207683안녕하세요 책을 보고 질문하나만 드릴깨요 [2]
... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...