17분 40초경 질문
437
20 câu hỏi đã được viết
안녕하세요 강사님!
다름이 아니라 밑에 분 질문중에 똑같은 질문이 있어 그걸 보고 해결하려고 햇는데 해결이 안되어 질문올립니다.
https://inflearn.com/questions/79914
제가 참고한 게시물이구요.
SetMinThreads와 SetMaxThreads 다 true로 뜨는 걸 확인했는데도 for문에서 i < 4로하면 작동하지 않고 i < 3으로해야 작동이 됩니다... 또 답글로 남겨주신분이 while문을 안써서 그럴 수 있다고 하셨는데 while문도 다 정확히 들어가있는데 작동하지 않아요. 원인을 알 수 있을까요?
+) 로그로 스레드 갯수 확인해봤는데 스레드 갯수는 정확히 5개 생성되었는데 하나가 놀고있네요.. 원인이 뭘까요 ㅠㅠ
Câu trả lời 2
0
위 내용만으로는 알 수가 없습니다.
기본적으로 전체 코드 스샷을 남겨주셔야 정확한 원인이 판별됩니다.
그리고 for i < 4로 하면 작동하지 않는다는게 "Hello Thread"가 아예 출력되지 않는다는 것일까요?
0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ServerCore
{
class Program
{
static void MainThread(object state) // 쓰레드풀을 사용하기 위해서 매개변수로 object를 하나 받아줘야 함 (함수내에서 원하면 해당 매개변수를 캐스팅해서 사용, 꼭 사용할 필요는 없음)
{
for (int i = 0; i < 5; ++i)
{
Console.WriteLine("Hello Thread!");
}
}
// 메인직원
static void Main(string[] args)
{
// 쓰레드풀이 먹통이 되는 상황
ThreadPool.SetMinThreads(1, 1); // 첫번째 매개변수는 최소 일반 스레드풀 갯수 설정, 두번째 매개변수는 아직 몰라도 되는 부분임 (최소 인풋아웃풋(네트워크 이벤트를 기다린다거나)하는 스레드 갯수 설정)
ThreadPool.SetMaxThreads(5, 5); // 최대 갯수 설정하는 메소드 (5개를 누군가가 다 물고있으면 그 다음요청은 실행되지 않음)
for (int i = 0; i < 4; ++i)
{
ThreadPool.QueueUserWorkItem((obj) => { while (true) { } }); // obj를 받아서 무한루프해주세요
}
// 쓰레드풀에게 단기일감 주기 (일감을 받고 대기상태)
ThreadPool.QueueUserWorkItem(MainThread);
while (true)
{
}
}
}
}
TLS 질문드립니다.
0
37
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
42
2
Unity Span
0
68
2
XML, Dll 차이점
0
99
2
Session 질문입니다
0
75
1
Write Read 커서 키워드
0
69
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
66
2
네트워크 Send 전담 스레드 배치
0
94
2
UnhandledException 으로 서버 터지는 경우
0
82
2
컨텐츠 단, 엔진 단
0
100
1
질문 있습니다
0
73
2
C# 게임서버 3D MMORPG
0
141
2
유니티6 버전
0
94
2
receive하는 부분과 send하는 부분의 차이
0
128
2
커서의 위치의 중요성
0
99
2
C++ 전혀 모르는데 C# 서버
0
165
2
강의에 질문이 있습니다
0
83
2
멀티스레드 이해도 질문
0
90
1
500 vs 500
0
122
3
OnAcceptHandler 액션 함수
0
57
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
186
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
79
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
100
1
스핀락 질문.
0
104
2


