private static int incrementAndGet(AtomicInteger atomicInteger) { int getValue; boolean result; do { getValue = atomicInteger.get(); log("getValue: " + getValue); result = atomicInteger.compareAndSet(getValue, getValue + 1); log("result: " + result); } while (!result); return getValue + 1; } getValue = atomicInteger.get(); 에서 조회한 값이 compareAndSet() 연산을 할때 바뀌지 않아야 바꿀려고 한 값으로 바꾸고 true를 반환한다고 이해했습니다. 궁금한 부분은 getValue = atomicInteger.get(); 여기서 값을 조회하거나 중간에 스레드가 바꾼 값을 조회 한다는걸 compareAndSet()에서 구분을 할 수 있나요?
CPU 코어와 메모리가 동작하는 이미지가 자주 나왔는데요 헷갈리는 부분이 있어서 질문 합니다. 스레드, 프로세스, 메모리 등 여러 개념들이 존재하지만 CPU와 직접적으로 통신(?) 하는 주체는 스레드라고 이해를 해도 될까요? 1번이 맞다면 스레드는 본인이 실행한 코드 한줄 한줄을 CPU로 보내고 CPU는 해당 코드 한줄을 해석하고 그에 따라서 프로세스에 할당된 메모리 영역(힙, 데이터, 코드)이나 스레드에 할당된 메모리 영역(스택)에 접근해서 데이터를 읽거나 저장한다 라고 이해를 해도 될까요? Java 의 thread 는 OS의 kernel thread 와 1:1로 mapping 되는걸로 알고 있는데 그러면 CPU는 kernel thread 와 통신 한다고 이해하면 될까요?
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요. 두번째 세번째 출력문이 epuals인데 왜 세번째는 왜 false인지 이해가 안돼요 epuals면 내용만 같은면 true 아닌가요
텐트 세우기문제를 풀던 중, 가장 높은 높이를 만날때까지 왼쪽에서 오른쪽으로 진행하고, 이후에는 오른쪽에서 가장 높이를 만날때까지 역순으로 누적합 배열 2개를 만들어서 마지막에 더해서 해결하려고 했는데, 입력 예시랑 백준의 반례들 찾아서 집어넣어봤는데 모두 정상적으로 출력되는데, 제출하니 틀렸다고 나오네요. 하루종일 고민했는데 도저히 모르겠어서 질문 드립니다! #2304 미해결... TC = int(input()) x_list = [] y_list = [] graph = [0]*1001 for _ in range(TC): x, y = map(int, input().split()) graph[x] = y x_list.append(x) y_list.append(y) max_height = max(y_list) prefix = [0] check = 0 for i in range(1, max(x_list)): prefix.append(max(prefix[i-1], graph[i])) if prefix[i] == max_height: check = i break suffix = [0]*(max(x_list)) suffix[-1] = graph[max(x_list)] for i in range(max(x_list)-1, check, -1): if suffix[i] == max_height: break suffix[i-1] = (max(suffix[i], graph[i])) sum = 0 for i in range(len(prefix)): if prefix[i] != 0: sum += prefix[i] for j in range(len(suffix)): if suffix[j] != 0: sum += suffix[j] print(sum)
섹션 3에서 chatgpt api 연결이 안되는거 같아요 python test_ chatgpt.py 를 하면 선생님처럼 되지 않고 이런 오류가 뜹니다. 해결 부탁드립니다... (desktop_venv) C:\desktop>python test_ chatgpt.py Traceback (most recent call last): File "C:\desktop\test_ chatgpt.py ", line 4, in <module> completion = client.chat .completions.create( File "C:\desktop\desktop_venv\lib\site-packages\openai\_utils\_ utils.py ", line 274, in wrapper return func(*args, **kwargs) File "C:\desktop\desktop_venv\lib\site-packages\openai\resources\chat\ completions.py ", line 704, in create return self._post( File "C:\desktop\desktop_venv\lib\site-packages\openai\_base_ client.py ", line 1270, in post return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) File "C:\desktop\desktop_venv\lib\site-packages\openai\_base_ client.py ", line 947, in request return self._request( File "C:\desktop\desktop_venv\lib\site-packages\openai\_base_ client.py ", line 1051, in _request raise self._make_status_error_from_response(err.response) from None openai.AuthenticationError: Error code: 401 - {'error': {'message': 'Incorrect API key provided: sk-proj-********************************************************************************************************************************************************ndYA. You can find your API key at https://platform.openai.com/account/api-keys .', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_api_key'}}