나는 많은 수의 스레드를 생성해야하는 프로젝트에서 작업 중이다. 실제 숫자는 테스터 (TA)가 입력한다. 프로그래밍뿐만 아니라 디자인에서도 문제가 발생합니다. 호출 될 스레드와 오류가 발생할 수있는 부분을 모두 감쌀 수 없습니다. 프로젝트가 곧 만기가되었으므로 실제로 시간을 낭비하고 싶지는 않습니다. 실제로이 프로그램을 다시 쓰면,하지만 하나의 쓰레드가 실행 중이고 모든 것이 순차적이어야하고 나중에 나올 때처럼 프로그램을 작성해야하는지 궁금합니다. 돌아가서 코드의 스레드 안전 부분을 추가하려고합니까? 원래 시간의 두 배 걸릴까요?동시 프로그래밍 : 순차 프로그램을 먼저 작성한 다음 스레드 안전을 추가해야합니까?
프로젝트 설명 : 참고 : :(나는 내가 어떤 영광 코드를 위반하지 가능한 모호한 될거야, 미안
objectA 스레드 n 개의의 m 번호를 받아 들여야 프로그램 . objectB 스레드 및 objectC
의 R 번호objectB 스레드 objectA 스레드가 objectB 및 objectC objectB 및 objectC 직접 상호 작용하지 않는 코드와 상호 작용 objectA 코드와 상호 작용하지만, objectA -ex를 통해 이렇게 간접적으로 수행 objectB에는 objectA에서 무언가가 필요합니다 .objectA는 무언가에 대한 결과를에 의해 얻습니다.calling objectC
내 혼란은 대부분이 상호 작용이 m + n 개의 스레드에 의해 이루어지고 설명을 통해 다양한 제한이 있다는 사실에서 비롯됩니다. 예를 들어 objectB는 objectA에서 무언가를 요청할 수 있으며 objectA는 기다려야합니다. objectC를 반환하여 objectB에 반환합니다. 또한 각 objectA 스레드는 한 번에 하나의 objectB에서 작업 할 수 있습니다.
나는 단지 하나의 objectA, 1 개의 objectB 및 1 개의 object C가있을 수 있도록 코드를 작성했는지 알고 싶습니다. 나는 되돌아 가서 쉽게 1을 m, n, r로 바꿀 수 있도록 쉽게 수정한다.
죄송합니다. 내 설명이 조금 혼란 스럽다면.
실제 프로젝트에 대해 조금 설명해 주시겠습니까 – jozefg
서로를 기다려야하는 n> 1 개의 스레드가 필요하지는 않습니다. – ignis
@ignis, 각 개체를 실생활에서 무언가로 생각하십시오. 예를 들어, objectA는 기계공, objectB는 자동차 등입니다. – evthim