멀티 스레딩에 대해 배우고 있으며 제작자 - 소비자 문제 (이를 호출 할 수있는 경우 세마포어 사용)를 시뮬레이트하고 싶습니다. 대기열을 보유하는 클래스가 있고, 생산자가 대기열에 int를 푸시하고 소비자가 가져 와서 인쇄합니다. I 시뮬레이션 class TestClass{
public:
void producer(int i){
uniq
한 스레드가 한 번에 하나의 스레드 만 호출하도록하고 싶습니다. 처음 스레드가 아직 실행 중일 때 이후 스레드를 삭제합니다. 생성자에서 await throttler.WaitAsync();
T result = default(T);
HttpResponseMessage response = await Client.Proxy.PostAsJson
순차 방식으로 세 개의 스레드를 사용하여 ArrayList의 내용을 인쇄하는 방법 첫 번째 스레드가 0,3,6 등의 색인의 내용을 인쇄합니다. 두 번째 스레드는 1,4,7 등의 색인 내용을 인쇄합니다. 여기서 세 번째 스레드는 2,5,8 등의 색인 내용을 인쇄합니다. 세마포어를 사용하거나 사용하지 않고 논리를 입력 해주세요.
C에서 명령 줄에 입력 된 숫자가 0에서 9로 계산되는 프로그램을 만들려고합니다.이 프로그램에서 총 3 개의 프로세스를 만드는 두 개의 fork() 호출이 있어야합니다. 그런 다음 각 프로세스가 다른 n % 3을 담당하는 숫자 순서로 실행되도록 최소 1 개의 세마포어를 사용해야합니다. 문제점은 내가 사용하고있는 세마포어에도 불구하고, 프로그램이 상당히 규칙
세마포어를 사용하여 모니터를 구현하고 싶습니다. 2 클래스를 만듭니다. 버퍼 및 ThreadDemo. 클래스 버퍼, 나는 put 메소드()를 작성하고 내가 스레드 T1, 스레드-T2를 생성, 클래스 TestThread에서 public void put(int input) throws InterruptedException {
monitorSemapho
P3, P1, P2 순으로 프로그램을 실행해야하는 상위 프로세스를 포함한 3 개의 프로세스가 있다고 가정 해 봅시다. 프로세스 P3에서 계산을 시작할 수있는 방법을 알려주십시오. 나는 {0,1,2,3,4,5 .. 최대} 내 코드의 스냅 샷입니다 참고로 로 아웃해야합니다 - #define SEM_NAME "//test.mutex"
//#define SEM_
세마포어로 비디오를 시청하고 더 자세한 정보를 얻기 위해 파기를 시도했습니다. 어셈블리 레벨에서 세마포어가 어떻게 작동하는지 잘 모르겠습니다. P(s):
s = s - 1
if (s < 0) {wait on s}
CRITICAL SECTION
V(s):
s = s + 1
if(threads are waiting o
리눅스 박스 내에서 나는 다른 프로세스가 사용하는 시스템 리소스에 대한 액세스를 제어하기 위해 명명 된 세마포어를 사용하고 있습니다. 시스템이 실수로 고장난 경우 세마포어가 획득되었지만 아직 돌려 주어지지 않았을 수 있습니다. 그 상황을 감안할 때, 재부팅 후에도 세마포어는 여전히 잠긴 상태로 유지된다는 것을 알게되었습니다. 이러한 상황을 극복하기 위해 시