일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 보안
- 머신러닝
- 데이터분석
- 인공지능
- 데이터베이스
- 2
- 사이버보안
- 딥러닝
- Yes
- 프로그래밍
- 소프트웨어공학
- 프로그래밍언어
- 데이터과학
- I'm Sorry
- 소프트웨어
- 빅데이터
- 컴퓨터공학
- 데이터구조
- 클라우드컴퓨팅
- 네트워크
- 코딩
- 버전관리
- 자료구조
- 파이썬
- 알고리즘
- 웹개발
- 네트워크보안
- 컴퓨터과학
- 컴퓨터비전
- 자바스크립트
- Today
- Total
목록동기화 (6)
스택큐힙리스트
나는 FastAPI를 사용하여 비동기 HTTP 웹 서비스를 가지고 있습니다. 서버에서 같은 서비스의 여러 인스턴스를 다른 포트에서 실행하고 있으며, 앞단에는 nginx 서버가 있어 모두 사용할 수 있습니다. 나는 한 클라이언트만 액세스해야 하는 특정 리소스를 보호해야 합니다. @app.get(/무언가_수행) async def 무언가_수행(): 여기에서 중요한 섹션() 나는 다음과 같이 파일 락을 사용하여 이 중요한 섹션을 보호하려고 시도했습니다: @app.get(/무언가_수행) async def 무언가_수행(): with FileLock(dosomething.lock): 중요한_섹션() 이렇게 하면 여러 프로세스가 동시에 중요한 섹션에 진입하지 못하게 됩니다. 하지만 발견한 것은 이 것이 사실상 데드락을..
몇 주 전에 Python 프로그래밍을 시작했고, 학습 목적으로 두 개의 간단한 스레드를 동기화하기 위해 세마포어를 사용해보려고 했습니다. 다음은 내가 작성한 코드입니다: import threading sem = threading.Semaphore() def fun1(): while True: sem.acquire() print(1) sem.release() def fun2(): while True: sem.acquire() print(2) sem.release() t = threading.Thread(target = fun1) t.start() t2 = threading.Thread(target = fun2) t2.start() 하지만 계속해서 1만 출력됩니다. 출력을 교차할 수 있는 방법이 있을까요?답..
백그라운드에서 실행되고 있는 스레드가 블로킹 방식으로 입력 장치에서 이벤트를 읽고 있습니다. 애플리케이션을 종료할 때 스레드를 제대로 정리하려면 pthread_join()을 실행할 수 없습니다. 왜냐하면 IO가 블로킹되어 스레드가 종료되지 않기 때문입니다. 이 상황을 어떻게 제대로 해결할까요? pthread_kill(theard, SIGIO) 또는 pthread_kill(theard, SIGALRM)을 보내서 블록을 해제해야 할까요? 그 중에서 올바른 신호는 무엇인가요? 아니면 블로킹된 읽기를 종료시키기 위한 다른 방법이 있을까요? 현재는 구글링을 해도 해결책이 나오지 않아 약간 당혹스럽습니다. 이는 Linux에서 pthreads를 사용하고 있습니다.편집: SIGIO와 SIGALRM과 약간 상호 작용해보..
나는 cpu가 RAM과 명령어 캐시를 비교하는 것 같다고 추측한다 (만약 c가 실제로 RAM에 있다면). 특히, 매우 큰 점프를 할 때 (위의 mmapped 메모리에 대한 호출과 같이) 명령 포인터가 캐시를 무효화하고 일치하지 않을 때 (전부?) 그것에 대해 더 정확한 정보를 얻기를 희망한다. 특히 이 동작이 예측 가능한 것으로 간주되고 (하드웨어 및 운영 체제의 차이를 제외하고) 의존할 수 있는지 알고 싶다.(아마도 인텔 매뉴얼을 참조해야할 것 같은데, 그게 수천 페이지로 이루어져 있어서 그 안에서 길을 잃는 경향이 있어...)답변 1파워PC는 캐시를 비활성화한 경우에도 컨텍스트 동기화 명령의 발행이 필요하다는 사실을 주목하는 것은 흥미롭습니다. 로드/스토어 버퍼와 같은 깊은 데이터 처리 유닛의 플러시..