운영 체제의 주제를 배우면서 Critical Section은 내가 만난 주제입니다. 이 문제를 해결하기 위해 세마포어, 특정 소프트웨어 솔루션 등과 같은 특정 방법이 제공됩니다. 그러나 나는 이러한 솔루션을 구현하기위한 코드가 어디에서 유래 했는가하는 의문점을 갖고 있습니다. 프로그래머는 자신의 프로그램에 대해 이러한 코드를 작성하지 않았기 때문에. 'C'
그래서 USB HID 장치를위한 새로운 소프트웨어 인터페이스를 설계하고 있으며 동시성 보호에 대한 질문이 있습니다. 필자는 디자인에서 다른 스레드에서 호출 될 수 있으므로 ReadFile 및 WriteFile (잘못된 경우 수정하십시오) 호출에 동시성 보호를 추가해야한다고 가정합니다. 이전에는 스레드 안전성을 구현하기 위해 정적 부울을 사용하는 경우가있었습
저는 Quorums의 개념에 기반한 분산 상호 배제 알고리즘을 연구했습니다. 인용 : 동인 C는 집합 집합으로 정의되며, 집합 g ∈ C는 집합으로 불립니다. 다음 등록 동인 정원 회에 대해 길게 1) 교차 속성 : 모든 정수 g의 경우, H ∈ C, H = g ∩ ∅. 예를 들어, 첫 번째 세트와 세 번째 세트에는 공통 요소가 없으므로 세트 {1,2,3}
내 멀티 스레드 서버에서 나는 EnterCriticalSection을 사용하여 서로 다른 두 개의 글로벌 데이터를 보호해야하는 somefunction()을가집니다. somefunction()
{
EnterCriticalSection(&g_List);
...
EnterCriticalSection(&g_Variable);
세마포어를 사용하여 여러 프로세스 중 공유 배열에서 int을 제거하는 코드의 중요한 부분을 둘러싸고 있습니다. 제 질문은 코드의 중요한 부분에서 도우미 함수를 호출하여 함수가 여전히 보호되는지 여부입니다. 그래서 예를 들어 나는이 윤곽 다음 코드가 있다면 : mutex_lock();
some_helper_function_call();
mu
내가 (나에게 놀라운) 재미있는 행동을 발견 : public void m(){
int primitive=1;
synchronized (primitive) {
}
}
이 코드는 다음 생성 int is not a valid type's argument for the synchronized statement
그
나와 나와 친구들이 온라인으로이 예제 코드를 보았고 중요한 섹션을 구현하는지 여부에 대해 논쟁하고있다. 우리의 의견은 앞뒤로 가고있어 stackoverflow에 대해 생각했다. 여기에서 중요한 섹션을 구현할 것인가 말 것인가? int flagga[2];
void task0(void){
while(1){
/* some code */
flagga[0]
연습 : 나의 이해에서 , 하나는 코드의 임계 영역은 중단없이 실행을 허용 할 수 있습니다. 표준 신호와 같은 방해 신호를 차단하여 신호를 차단할 수 있습니다. 충돌 : 은 내가 어떻게가 중요 섹션 코드에서 발생하는 오류/표준 신호를 처리 할 수있을 것입니다. 내가 생각할 수있는 고전적인 예는 메모리를 할당하지 못한 것입니다. 또는 잘못된 주소로 인해 메모
안녕하세요. 중요한 섹션에 대해 의문이 생깁니다. 나는 스캐너 스레드에 대한 두 개의 스레드 scannerThread와 scannerchild thread.Code를 가지고있다. Scannerchild에 대한 procedure ScannerThread.Execute;
var
I: Integer;
ScannerCh: Array of Sca