«threadpool» 태그된 질문

주어진 한도 내에서 리소스를 풀링하고 개방형 작업자에게 작업을 자동으로 할당합니다.

9
인터페이스가 Task를 반환해야하는 경우 작동하지 않는 구현을 수행하는 가장 좋은 방법은 무엇입니까?
아래 코드에서 인터페이스로 인해 클래스 LazyBar는 메서드에서 작업을 반환해야합니다 (인수를 변경할 수 없음). LazyBar신속하고 동 기적으로 실행된다는 점에서 구현이 특이한 경우 -메소드에서 비 작동 태스크를 리턴하는 가장 좋은 방법은 무엇입니까? Task.Delay(0)아래에 갔지만 함수가 많이 호출되면 성능에 부작용이 있는지 알고 싶습니다 (인수를 위해 초당 수백 번 말하십시오). 이 구문 설탕은 큰 …

12
스레드가 너무 많습니까?
서버를 작성 중이며 요청을 받으면 각 작업을 별도의 스레드로 보냅니다. 거의 모든 요청이 데이터베이스 쿼리를 작성하기 때문에이 작업을 수행합니다. 스레드 풀 라이브러리를 사용하여 스레드 구성 / 파괴를 줄입니다. 내 질문은 이것과 같은 I / O 스레드에 대한 좋은 차단 점은 무엇입니까? 나는 그것이 대략적인 추정 일 것이라는 것을 알고 있지만 …

17
ExecutorService의 이름 지정 스레드 및 스레드 풀
Executor프레임 워크 를 활용하는 응용 프로그램이 있다고 가정 해 보겠습니다. Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff } } 이 응용 프로그램을 디버거에서 실행하면 다음과 같은 (기본) 이름으로 스레드가 생성됩니다 Thread[pool-1-thread-1]. 보시다시피, 이것은별로 유용 Executor하지 않으며 내가 알 수있는 한 프레임 워크는 작성된 스레드 또는 스레드 풀의 이름을 …

14
ExecutorService, 모든 작업이 완료 될 때까지 기다리는 방법
모든 작업이 ExecutorService완료 될 때까지 기다리는 가장 간단한 방법은 무엇입니까 ? 내 작업은 주로 계산 작업이므로 각 코어마다 하나씩 많은 수의 작업을 실행하고 싶습니다. 지금 내 설정은 다음과 같습니다. ExecutorService es = Executors.newFixedThreadPool(2); for (DataTable singleTable : uniquePhrases) { es.execute(new ComputeDTask(singleTable)); } try{ es.wait(); } catch (InterruptedException e){ e.printStackTrace(); } …

11
스레드 대 스레드 풀
새 스레드를 사용하는 것과 스레드 풀의 스레드를 사용하는 것의 차이점은 무엇입니까? 어떤 성능 이점이 있으며, 명시 적으로 만든 스레드가 아닌 풀의 스레드를 사용해야하는 이유는 무엇입니까? 나는 여기서 .NET을 특별히 생각하고 있지만 일반적인 예는 좋습니다.

6
스레드 풀에서 스레드 ID를 얻는 방법은 무엇입니까?
작업을 제출하는 고정 스레드 풀이 있습니다 ( 5 개 스레드로 제한됨 ). 이 5 개의 스레드 중 어느 것이 내 작업을 실행 하는지 어떻게 알 수 있습니까 ( " 5 번 스레드 # 3 / 5 가이 작업을 수행 중입니다")? ExecutorService taskExecutor = Executors.newFixedThreadPool(5); //in infinite loop: taskExecutor.execute(new MyTask()); .... …

10
C ++ 11의 스레드 풀링
관련 질문 : C ++ 11 소개 : C ++ 11 : std :: thread 풀링? C ++ 11의 async (launch :: async)로 인해 비싼 스레드 생성을 피하기 위해 스레드 풀이 더 이상 사용되지 않습니까? 부스트 소개 : 스레드를 재사용하는 C ++ 부스트 스레드 boost :: thread 및 풀 만들기! …

15
C #에서 스레드 풀을 언제 사용합니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 이 질문을 개선하십시오 C #에서 멀티 스레드 프로그래밍을 배우려고 노력 중이며 스레드 풀을 사용하는 것이 가장 좋으며 …

1
C ++ 11의 async (launch :: async)는 값 비싼 스레드 생성을 피하기 위해 스레드 풀을 쓸모 없게 만들까요?
이 질문과 느슨하게 관련이 있습니다. std :: thread는 C ++ 11에서 풀링됩니까? . 질문은 다르지만 의도는 동일합니다. 질문 1 : 값 비싼 스레드 생성을 방지하기 위해 자체 (또는 타사 라이브러리) 스레드 풀을 사용하는 것이 여전히 타당합니까? 다른 질문의 결론은 std::thread풀링 에 의존 할 수 없다는 것입니다 (그럴 수도 있고 아닐 …

11
트래픽이 많은 시나리오에서 ASP.NET에서 ThreadPool.QueueUserWorkItem 사용
저는 항상 ThreadPool을 사용하여 (중요하지 않은) 단기 백그라운드 작업이 ASP.NET에서도 모범 사례로 간주된다는 인상을 받았습니다. 그러나 다른 방법을 제안하는 것처럼 보이는 이 기사 를 보았습니다. ASP.NET 관련 요청을 처리하려면 ThreadPool을 떠나야합니다. 지금까지 작은 비동기 작업을 수행 한 방법은 다음과 같습니다. ThreadPool.QueueUserWorkItem(s => PostLog(logEvent)) 그리고 기사는 명시 적으로 유사한 스레드를 생성하는 …

3
FixedThreadPool 대 CachedThreadPool : 두 가지 악 중 적은 것
여러 작업을 수행하는 스레드 (~ 5-150)를 생성하는 프로그램이 있습니다. 원래는 이 유사한 질문 이 더 오래 지속되는 작업에 더 적합하고 멀티 스레딩에 대한 매우 제한된 지식으로 인해 스레드의 평균 수명 (몇 분) " 장수 "를 고려 FixedThreadPool했기 때문에 a를 사용했습니다 . 그러나 최근에 추가 스레드를 생성하는 기능을 추가하여 설정 한 …

7
Java : 특정 큐 크기 이후 제출시 차단되는 ExecutorService
단일 스레드가 병렬로 수행 할 수있는 I / O 집약적 인 작업을 생성하는 솔루션을 코딩하려고합니다. 각 작업에는 중요한 인 메모리 데이터가 있습니다. 따라서 현재 보류중인 작업의 수를 제한 할 수 있기를 원합니다. 다음과 같이 ThreadPoolExecutor를 생성하면 : ThreadPoolExecutor executor = new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(maxQueue)); 그런 다음이 executor.submit(callable)발생 …


1
ThreadPool.QueueUserWorkItem 대 Task.Factory.StartNew
아래의 차이점은 무엇입니까 ThreadPool.QueueUserWorkItem vs Task.Factory.StartNew 위의 코드가 장시간 실행되는 작업에 대해 500 번 호출되면 모든 스레드 풀 스레드가 사용된다는 의미입니까? 아니면 TPL (두 번째 옵션)이 프로세서 수보다 적거나 같은 스레드를 차지할만큼 똑똑할까요?

6
IO 바인딩 작업에 ThreadPools 또는 Task Parallel Library를 사용해야합니까?
애그리 게이터 인 내 프로젝트 중 하나에서 웹에서 피드, 팟 캐스트 등을 구문 분석합니다. 순차 접근 방식을 사용하는 경우 리소스가 많기 때문에 모든 리소스를 처리하는 데 상당한 시간이 걸립니다 (네트워크 문제 및 이와 유사한 문제로 인해). foreach(feed in feeds) { read_from_web(feed) parse(feed) } 그래서 동시성을 구현하고 싶고 기본적으로 ThreadPools를 사용하여 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.