일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- 컴퓨터과학
- 데이터과학
- 머신러닝
- Yes
- 딥러닝
- 데이터구조
- 프로그래밍
- 컴퓨터공학
- 사이버보안
- 클라우드컴퓨팅
- 2
- 소프트웨어공학
- 인공지능
- 네트워크보안
- 자바스크립트
- 코딩
- I'm Sorry
- 알고리즘
- 웹개발
- 소프트웨어
- 보안
- 프로그래밍언어
- 빅데이터
- 데이터베이스
- 데이터분석
- 파이썬
- 컴퓨터비전
- 버전관리
- 네트워크
- Today
- Total
목록세마포어 (2)
스택큐힙리스트
나는 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만 출력됩니다. 출력을 교차할 수 있는 방법이 있을까요?답..