atomic

    8

    5답변

    모든 스레드에서 읽고 쓰는 데 '부울'변수가 스레드로부터 안전합니까? 나는 그것이 있다고 말하는 어떤 뉴스 그룹 참조를 보았다. 다른 데이터 유형이 있습니까? (열거 형, 짧은 int 아마도?) 어떤 스레드에서 안전하게 읽을 수있는 모든 데이터 형식의 목록을 가지고 있으면 좋을 것입니다. 그리고 어떤 스레드에서도 안전하게 쓸 수있는 또 다른 목록은 리조트에

    0

    1답변

    여러 사용자간에 Microsoft 액세스 트랜잭션을 근본적으로 만들 수있는 방법이 있습니까? 저는 그들이 접근하지 못했다는 것을 나타내는 this을 발견했습니다. 그러나 액세스의 원 자성이 드라이버마다 다른지 궁금합니다.

    11

    2답변

    원자 (double) 비교 및 ​​교체 명령어를 사용하여 잠금없는 메커니즘을 구현하고 있습니다. cmpxchg16b 현재 어셈블리에서 이것을 작성하고 연결하고 있습니다. 그러나 자동으로 컴파일러를 얻는 방법이 있는지 궁금합니다. 예 : 서라운드 코드 블록을 '원자 적으로'구현하고 기본 프로세서 아키텍처에서 원자 명령어로 코드를 구현하는 방법을 설명합니다 (

    1

    4답변

    주어진 Win32 스레드로 CPU 사용량을 계산하는 데 필요한 두 개의 GetSystemTime() 및 GetThreadTimes() 시스템 호출이 있습니다. 정확성을 위해 GetSystemTime()과 GetThreadTimes()를 모두 원자 단위로 실행해야합니다. 즉 GetSystemTime() & GetThreadTimes() 호출 사이에 컨텍스트

    0

    1답변

    win32 연동 기능은 데이터의 원자 적 작동을 위주로합니다. 스레드로부터 안전하고 다중 프로세서로 안전해야합니다. 데이터가 정렬되지 않으면 어떻게됩니까? 연동 된 연산은 여전히 ​​원자 적입니까? 예 : 정렬되지 않은 정수를 증가시킵니다. 32에 정렬되어야합니다이 "변수가 가산 할 매개 변수가 가리키는 : 당신이 연동 API 기능의 대부분을 읽으면 타이

    27

    14답변

    동일한 상위 디렉토리에 두 개의 디렉토리가 있습니다. 상위 디렉토리 베이스 및 하위 디렉토리 알파 및 bravo을 호출하십시오. 알파을 bravo으로 바꾸고 싶습니다. 가장 간단한 방법은 다음과 같습니다. rm -rf alpha mv bravo alpha mv 명령은 atomic이지만 rm -rf는 없습니다. 원자 단위로 바꾸는 bash에서 간단한 방

    10

    1답변

    GCC의 내장 원자 연산에 대해 알고 있습니다. http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Atomic-Builtins.html 그러나이 목록에는로드 및 저장과 같은 매우 간단한 연산이 포함되어 있지 않습니다. 나는 (그들은 기본적으로 그냥 일반 MOV의 될 것입니다 86와 같은 많은 사실) 인라인 어셈블리 제한된 아키텍

    0

    3답변

    데이터베이스에서 1000 개의 행을 가져와야하며 동시에 '처리 중'으로 태그를 지정해야합니다. 이렇게하면 다른 스레드가 동일한 1000 개의 행을 가져 와서 처리 할 수 ​​없습니다. LINQ와 제가 같은 것을 수행 MSG를 = (m에서 database.messages (m.status == MESSAGESTATUSINIT) 선택에서 m) .Take (10

    4

    2답변

    나는 lock inc addr을 찾았지만, 그 값은 저장된 값의 복사본을 보관하지 않으며, 심지어 같은 쓰레드에서 경쟁 쓰기가 끝난 직후 읽을 수 있습니다. 가장 좋은 해결책은 load/inc/cas 루프입니다.

    8

    3답변

    나는 매우 일반적인 상황이 있습니다. 파일이 있는데이 파일을 새 내용으로 완전히 덮어 써야합니다. 그러나 원본 파일은 모든 페이지로드 (웹 앱)에 액세스되므로 매우 오래 누락 될 수 없습니다. 몇 ms는 OK이지만 (이상적은 아니지만) 초는 OK가 아닙니다. 지금은 임시 파일을 같은 디렉터리에 쓰고 그 임시 파일의 이름을 새 파일의 이름으로 바꾸면됩니다.