«multithreading» 태그된 질문

멀티 스레딩은 여러 동시 실행 스트림 (일반적으로 스레드라고 함)을 활용하여 컴퓨터 또는 프로그램이 동시에 또는 비동기 적으로 작업을 수행 할 수있는 기능입니다.

2
CompletableFuture, Future 및 RxJava의 Observable의 차이점
나는 사이의 차이를 알고 싶습니다 CompletableFuture, Future그리고 Observable RxJava. 내가 아는 것은 모두 비동기이지만 Future.get() 실을 막다 CompletableFuture 콜백 메소드를 제공합니다 RxJava Observable--- CompletableFuture다른 혜택 과 유사 (확실하지 않음) 예를 들어, 클라이언트가 여러 서비스 호출을해야하고 Futures(Java) Future.get()를 사용할 때 순차적으로 실행되는 경우 ... RxJava에서 어떻게 더 나은지 알고 싶습니다. 그리고 …

30
Java에서 가장 자주 발생하는 동시성 문제는 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 팔년 전에 …

11
객체 또는 메소드의 Java 동기화 메소드 잠금?
같은 클래스에 2 개의 동기화 된 메소드가 있지만 각각 다른 변수에 액세스하는 경우 2 개의 스레드가 2 개의 메소드에 동시에 액세스 할 수 있습니까? 잠금이 객체에서 발생합니까? 아니면 동기화 된 메소드 내의 변수만큼 구체적입니까? 예: class X { private int a; private int b; public synchronized void addA(){ a++; } …

7
Task.Run ()과 Task.Factory.StartNew ()의 차이점은 무엇입니까?
나는 방법을 가지고있다 : private static void Method() { Console.WriteLine("Method() started"); for (var i = 0; i < 20; i++) { Console.WriteLine("Method() Counter = " + i); Thread.Sleep(500); } Console.WriteLine("Method() finished"); } 그리고이 작업을 새로운 작업에서 시작하고 싶습니다. 이 같은 새로운 작업을 시작할 수 있습니다 var task = Task.Factory.StartNew(new Action(Method)); …


12
CountDownLatch는 Java 멀티 스레딩에서 어떻게 사용됩니까?
누군가 Java CountDownLatch가 무엇인지 언제 사용 하는지 이해하도록 도와 줄 수 있습니까 ? 이 프로그램의 작동 방식에 대한 명확한 아이디어가 없습니다. 세 개의 스레드가 모두 한 번에 시작되고 각 스레드가 3000ms 후에 CountDownLatch를 호출한다는 것을 이해합니다. 카운트 다운은 하나씩 감소합니다. 래치가 0이되면 프로그램은 "Completed"를 인쇄합니다. 어쩌면 내가 이해 한 방식이 …

7
재귀 잠금 (Mutex) vs 비 재귀 잠금 (Mutex)
POSIX를 사용하면 뮤텍스를 재귀 적으로 사용할 수 있습니다. 즉, 동일한 스레드가 동일한 뮤텍스를 두 번 잠글 수 있으며 교착 상태가 발생하지 않습니다. 물론 두 번 잠금을 해제해야합니다. 그렇지 않으면 다른 스레드가 뮤텍스를 얻을 수 없습니다. pthread를 지원하는 모든 시스템이 재귀 뮤텍스도 지원하지는 않지만 POSIX를 준수 하려면을 준수해야합니다 . 다른 API …

10
동기화 및 잠금
java.util.concurrentAPI는로 불리는 클래스를 제공합니다.이 클래스 Lock는 기본적으로 중요한 리소스에 액세스하기 위해 컨트롤을 직렬화합니다. 이 같은 방법을 제공 park()하고 unpark(). synchronized키워드와 사용 wait()및 notify() notifyAll()메소드를 사용할 수 있다면 비슷한 일을 할 수 있습니다 . 나는 이것들 중 어느 것이 실제로 더 낫고 왜 그런지 궁금합니다.

5
이 foreach 코드를 Parallel.ForEach로 어떻게 변환 할 수 있습니까?
나는 약간 혼란스러워한다 Parallel.ForEach. 무엇이며 Parallel.ForEach정확히 무엇을합니까? MSDN 링크를 참조하지 마십시오. 다음은 간단한 예입니다. string[] lines = File.ReadAllLines(txtProxyListPath.Text); List<string> list_lines = new List<string>(lines); foreach (string line in list_lines) { //My Stuff } 이 예제를 Parallel.ForEach어떻게 다시 작성할 수 있습니까?

6
스레드를 만드는 데 비용이 많이 드는 이유는 무엇입니까?
자바 튜토리얼에서는 스레드를 만드는 것이 비싸다고 말합니다. 그러나 왜 정확히 비쌉니까? Java 스레드가 작성 될 때 작성 비용이 많이 드는 상황은 정확히 무엇입니까? 나는 그 진술을 사실로 받아들이고 있지만 JVM에서 스레드 생성의 메커니즘에 관심이 있습니다. 스레드 수명주기 오버 헤드 스레드 생성 및 분해는 무료가 아닙니다. 실제 오버 헤드는 플랫폼마다 다르지만 …

9
InvokeRequired 코드 패턴 자동화
이벤트 중심 GUI 코드에서 다음 코드 패턴을 얼마나 자주 작성해야하는지 알고 있습니다. private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = false; } 된다 : private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); })); } else { object1.Visible …

8
Java에서 동기화 된 정적 메소드는 어떻게 작동하며 Hibernate 엔티티를로드하는 데 사용할 수 있습니까?
기본 데이터 액세스를 달성하기 위해 Hibernate 함수를 호출하는 정적 메소드가있는 util 클래스가있는 경우. synchronized스레드 안전성을 보장하기 위해 방법을 만드는 것이 올바른 방법인지 궁금합니다 . 동일한 DB 인스턴스에 대한 정보 액세스를 막기 위해 이것을 원합니다. 그러나 getObjectById특정 클래스에서 호출 할 때 다음 코드가 모든 클래스에 대해 호출 되지 않는지 확신합니다 . …

8
파이썬에서 스레드 ID를 찾는 방법
멀티 스레딩 Python 프로그램과 writeLog(message)메시지가 뒤 따르는 타임 스탬프를 쓰는 유틸리티 함수 가 있습니다. 불행하게도, 결과 로그 파일은 어떤 스레드가 어떤 메시지를 생성하는지에 대한 표시를 제공하지 않습니다. writeLog()메시지를 호출하는 스레드를 식별하기 위해 메시지에 무언가를 추가하고 싶습니다 . 분명히 스레드 가이 정보를 전달하도록 할 수는 있지만 훨씬 더 많은 작업이 될 …

10
스레드가 .NET으로 끝나기를 기다리는 방법은 무엇입니까?
C #에서는 메인 UI 스레드뿐만 아니라 두 개의 스레드가 필요한 스레딩을 실제로 사용한 적이 없습니다. 기본적으로 다음과 같은 것이 있습니다. public void StartTheActions() { //Starting thread 1.... Thread t1 = new Thread(new ThreadStart(action1)); t1.Start(); // Now, I want for the main thread (which is calling `StartTheActions` method) // to wait …
178 c#  multithreading 


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