«concurrency» 태그된 질문

컴퓨터 과학에서 동시성은 동시 계산은 겹치는 시간에 여러 계산을 수행 할 수있는 시스템의 속성입니다. 계산은 동일한 칩의 여러 코어에서 실행되거나, 동일한 프로세서에서 미리 공유 된 스레드 또는 물리적으로 분리 된 프로세서에서 실행될 수 있습니다.

5
멀티 스레딩에서 휘발성을 사용해야하는 경우
전역 변수에 액세스하는 두 개의 스레드가있는 경우 많은 자습서에서 컴파일러가 변수를 레지스터에서 캐싱하지 못하도록 변수를 휘발성으로 만들고 올바르게 업데이트되지 않는다고 말합니다. 그러나 공유 변수에 액세스하는 두 개의 스레드는 뮤텍스를 통한 보호를 요구하는 것이 아닙니다. 그러나이 경우 스레드 잠금과 뮤텍스 해제 사이에서 코드는 하나의 스레드 만 변수에 액세스 할 수있는 중요한 …

13
크기 제한이있는 캐시 된 스레드 풀을 만들 수 없습니까?
캐시 가능한 스레드 풀을 생성 할 수있는 스레드 수로 제한하는 것은 불가능한 것 같습니다. 정적 Executors.newCachedThreadPool이 표준 Java 라이브러리에서 구현되는 방법은 다음과 같습니다. public static ExecutorService newCachedThreadPool() { return new ThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>()); } 따라서 해당 템플리트를 사용하여 고정 크기의 캐시 된 스레드 풀을 작성하십시오. new ThreadPoolExecutor(0, …

12
자바에서 비동기 적으로 메서드를 호출하는 방법
최근 에 Go의 고 루틴을 살펴 보았고 Java에서 비슷한 것을 갖는 것이 좋을 것이라고 생각했습니다. 메서드 호출을 병렬화하는 일반적인 방법을 검색 한 한 다음과 같은 작업을 수행합니다. final String x = "somethingelse"; new Thread(new Runnable() { public void run() { x.matches("something"); } }).start(); 그다지 우아하지 않습니다. 이 작업을 수행하는 더 …


6
GCD의 동시 대기열과 직렬 대기열
GCD의 동시 및 직렬 대기열을 완전히 이해하기 위해 고군분투하고 있습니다. 나는 몇 가지 문제가 있으며 누군가가 그 시점에서 명확하게 대답 할 수 있기를 바랍니다. 작업을 차례로 실행하기 위해 직렬 대기열이 생성되고 사용된다는 것을 읽고 있습니다. 그러나 다음과 같은 경우에는 어떻게됩니까? 직렬 대기열을 만듭니다. I 사용 dispatch_async디스패치 (I 방금 만든 큐에 …

5
CancellationToken 속성을 사용하는 방법은 무엇입니까?
RulyCanceler 클래스 에 대한 이전 코드와 비교 하여 CancellationTokenSource. 취소 토큰 에서 언급 한대로 예외를 던지거나 잡지 않고 어떻게 사용합니까? IsCancellationRequested부동산을 사용할 수 있습니까 ? 나는 이것을 다음과 같이 사용하려고 시도했다. cancelToken.ThrowIfCancellationRequested(); 과 try { new Thread(() => Work(cancelSource.Token)).Start(); } catch (OperationCanceledException) { Console.WriteLine("Canceled!"); } 그러나 이것은 cancelToken.ThrowIfCancellationRequested();메소드에서 런타임 오류를 …

6
AtomicInteger lazySet 대 set
의 lazySet와 set방법의 차이점은 무엇입니까 AtomicInteger? 문서 에 대해 말을 많이가 없습니다 lazySet: 결국 주어진 값으로 설정됩니다. 저장된 값이 즉시 원하는 값으로 설정되는 것이 아니라 향후 일정 시간에 설정 될 것으로 보입니다. 그러나이 방법의 실제 사용은 무엇입니까? 어떤 예?
116 java  concurrency  atomic 


5
LinkedBlockingQueue 대 ConcurrentLinkedQueue
내 질문은 이전에 질문 한이 질문과 관련 이 있습니다. 생산자와 소비자 스레드 간의 통신을 위해 대기열을 사용하는 상황에서 사람들은 일반적으로 LinkedBlockingQueue또는 사용을 권장 ConcurrentLinkedQueue합니까? 하나를 사용하는 장점 / 단점은 무엇입니까? API 관점에서 볼 수있는 주요 차이점은 a LinkedBlockingQueue를 선택적으로 제한 할 수 있다는 것입니다.

7
node.js의 동시 작업에는 어느 것이 더 좋습니까? 섬유? 웹 작업자? 또는 스레드?
언젠가 node.js를 우연히 만났고 많이 좋아했습니다. 하지만 곧 CPU 집약적 인 작업을 수행하는 능력이 부족하다는 것을 알게되었습니다. 그래서 저는 인터넷 검색을 시작했고 문제를 해결하기 위해 Fibers, Webworkers 및 Threads (thread-a-gogo)와 같은 답을 얻었습니다. 이제 어떤 것을 사용해야하는지 혼란스럽고 그중 하나를 사용해야합니다. 결국 IO 만 잘하는 서버를 갖는 목적은 무엇입니까? 제안이 …

4
휘발성은 비쌉니까?
컴파일러 작성자를위한 JSR-133 쿡북을 읽은 후 휘발성의 구현, 특히 부분에 대해 "원자 지침과 상호 작용"나는 그것을 업데이트하지 않고 휘발성 변수를 읽는 것은 LoadLoad 또는 LoadStore 장벽을 필요로한다고 가정합니다. 페이지 아래로 내려 가면 LoadLoad 및 LoadStore가 X86 CPU에서 효과적으로 작동하지 않는 것을 알 수 있습니다. 이것은 x86에서 명시적인 캐시 무효화없이 휘발성 …



4
DispatchQueue.main.async와 DispatchQueue.main.sync의 차이점
DispatchQueue.main.asyncUI 관련 작업을 수행하기 위해 오랫동안 사용 하고 있습니다. 스위프트 모두를 제공 DispatchQueue.main.async하고 DispatchQueue.main.sync, 두 메인 큐에 수행된다. 누구든지 그들 사이의 차이점을 말할 수 있습니까? 언제 각각을 사용해야합니까? DispatchQueue.main.async { self.imageView.image = imageView self.lbltitle.text = "" } DispatchQueue.main.sync { self.imageView.image = imageView self.lbltitle.text = "" }

17
ThreadPoolExecutor의 submit () 메서드 블록이 포화 상태 인 경우 만드는 방법은 무엇입니까?
ThreadPoolExecutor최대 크기에 도달하고 대기열이 가득 차면 새 작업을 추가하려고 할 때 submit()메서드가 차단 되도록 만들고 싶습니다 . 이를 위해 사용자 정의를 구현해야 RejectedExecutionHandler합니까 아니면 표준 Java 라이브러리를 사용하여이를 수행하는 기존 방법이 있습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.