producer-consumer

    2

    2답변

    나는 다음과 같은 상황이 있습니다 읽기 데이터베이스 의 데이터는 "계산"데이터베이스에 쓰기 결과를 작동합니까 나는 데이터베이스에서 읽은 스레드를 가지고 있으며 생성 된 객체를 BlockingQueue에 저장한다. 이러한 객체는 매우 무거운 가중치이므로 메모리에있는 객체의 양을 제한하는 대기열입니다. 여러 스레드가 큐에서 개체를 가져 와서 작업을 수행하고 두

    6

    3답변

    스레드 간 통신에 문제가 있고 "더미 메시지"를 사용하여 "해결"했습니다. 이것은 나쁜 생각입니까? 가능한 해결책은 무엇입니까? 예제 문제가 있습니다. 주 스레드는 처리하고 레코드를 데이터베이스에 삽입하기 위해 스레드를 시작합니다. 메인 쓰레드는 거대한 파일을 읽고, 하나의 레코드 (객체)를 차단 큐에 넣습니다. 처리 스레드가 대기열에서 읽고 작업을 수행합

    3

    2답변

    주문을 처리해야하는 작업 항목 목록이 있습니다. 때로는 목록이 비어 있고, 때로는 1000 개의 항목이 있습니다. 한 번에 하나만 처리 할 수 ​​있습니다. 현재 나는 다음과 같은 일을하고있다. 왜냐하면 소비자 작업에서 Thread.Sleep을 사용하여 목록이 비어 있는지 확인하기 전에 100ms를 기다리고 있기 때문에 어리 석다. 이것은 이것을 수행하는

    0

    1답변

    나는 상황이있다. 이제는 스레드가 SimpleAsyncTaskExecutor FINISHES에서 발송할 때마다 작업 풀에 항목 (실제 생성/평가되지 않음)을 추가하고 싶습니다. 이 작업 풀은 두 번째 SimpleAsyncTaskExecutor에서 작업하며 작업됩니다. 생산자/소비자 문제. 가장 쉬운 접근 방법은 무엇입니까?

    16

    3답변

    누구든지 Queue.Queue의 요소를 반복하는 비유의 방법을 알고 있습니까 () 큐에서 제거하지 않습니다. 나는 처리 할 항목이 Queue.Queue을 사용하여 전달되는 생산자/소비자 유형 프로그램이 있으며 나머지 항목이 무엇인지 인쇄 할 수 있기를 원합니다. 어떤 아이디어?

    0

    1답변

    MSOffices와 같은 큰 제품을 사용하면 구매자/사용자 수가 설치 시간 수나 설치된 컴퓨터 수로 어떻게 제한됩니까? 하나의 소프트웨어 CD의 경우 제품이 설치되어 있으며 예를 들어 라이센스 3 개를 통해 사용할 수 있습니다.이 키는 제공된 키를 통해 활성화됩니다. 왜 내가 상호 연결되지 않은 3 대의 기계에서 동일한 키를 사용할 수 없습니까? 하나의 소

    1

    2답변

    나는 생산자와 소비자를위한 세마포어 클래스를 구현했다. 괜찮 았지만 이제는 모든 스레드를 깨우거나 알려주는 스레드에 notifyAll을 사용하여 알림을 보내고 있습니다. 특정 그룹 만 알릴 수있는 방법이 있는지 알고 싶습니다. 생산자가 소비자 스레드에만 알리고 그 밖의 경우에는 그룹이나 다른 것을 사용합니다. 추신 : 저는 자바와 스레딩에 익숙하지 않습니다

    0

    2답변

    한 소비자 - 많은 소비자 시나리오에서 가능한 가장 빠른 잠금 솔루션을 찾으려고합니다. 단 하나의 생산자만을 다루고 그 사이에 가치가 없어지면 안전한 출판에만 신경을 써야한다고 생각합니다. 효과적으로 불변의 객체가 안전하게) 1을 게시해야합니다 는 "안전이 솔루션을인가 아이디어가 실제로 자바 동시성의 문을 기반으로 // effectively immutabl

    0

    1답변

    POSIX 스레드를 사용하여 차단 대기열을 구현하려고한다. 중요한 코드 세그먼트는 다음과 같습니다. 이 프로그램을 실행하려고했습니다. 대기열에서 요소를 제거하려고 시도하는 스레드는 대기열에 요소가 없을 때 잠자기 상태가되고 요소를 대기열에 추가하는 신호가없는 상태에서 다시 깨어납니다 (이 결론은 모든 스레드를 시작하지 않았기 때문입니다. 요소를 큐에 추가합

    3

    1답변

    저는 Java의 동시성에 대해 배우 았으며 제작자 - 소비자 문제를 발견했습니다. 그것은 명백하게 표준이며 많은 곳에서 거의 동일한 대답을 보았습니다. 동기화의 public synchronized void put(int num){ while (!empty) { try{ wait(); } catch {} }