«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.