본문 바로가기

JAVA4

[JAVA] 쓰레드 우선 순위 설정 멀티쓰레드로 작업을 할 경우 A쓰레드를 B쓰레드보다 우선적으로 작업을 해야할 때가 있다. 예를 들면 카카오톡에서 상대방이 사진을 보내오고 나는 답장을 보낼 경우, 사진을 다운받는 로딩보다 채팅을 보내는 일이 우선되어야 할것이다. 그러면 채팅은 보내지지만 사진을 다운받는 시간은 더 길어질 것이다. 쓰레드는 우선순위라는 속성을 가지고 있어 이 우선순위의 값에 따라 쓰레드가 얻는 실행시간이 달라진다. 우선순위 값이 클수록 더 많은 작업시간을 갖게 되는데, 이처럼 작업의 중요도에 따라 쓰레드의 우선순위를 다르게 지정하여 시간을 할당할 수 있다. 위의 예시처럼 채팅을 보내는 일을 사진을 다운받는 일보다 먼저 실행하고 싶을 경우, 채팅의 우선순위를 더 높게 설정하면 되는 것이다. 쓰레드 우선순위 정하는 법 void.. 2023. 7. 19.
[JAVA] 쓰레드 구현방법(Thread 상속 vs Runnable 인터페이스) 위 사진에서 게임 진행과 별개로 시간이 자동적으로 흐르는 것을 볼 수 있다. 현재 시간 : 7시 이는 멀티쓰레드를 이용하여 구현한 것으로 쓰레드의 개념과 구현 방법에 대해 정리해보고자 한다. 스레드(Thread)란? 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있다. 이때 프로세스의 자원을 이용해 실제로 작업을 수행하는 것이 바로 쓰레드 이다. 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드가 존재하는 것을 '멀티쓰레드(multi-thread)라고 한다. 하나의 프로세스가 가질 수 있는 쓰레드의 개수는 제한되어 있지 않으나 쓰레드가 작업을 수행하는데 개별적인 메모리 공간(호출스택)을 필요로 하기 때문에 프로세스의 메모리에 따라 생.. 2023. 7. 16.
[JAVA] 콘솔 입력 방법 (Scanner, InputStream, InputStreamReader, BufferedReader) Java 콘솔게임의 가장 기본이 되는 '콘솔에 무언가를 입력하는 방법'을 정리해보았습니다. 콘솔(console)이란? 컴퓨터 용어 : 디스플레이 모니터와 키보드(또는 입력이 가능한 다른 장치)가 조합된 장치 점프 투 자바 : 사용자의 입력을 받거나 사용자에게 문자열을 출력해 주는 역할을 하는 것을 통칭 프로그램에서 사용자에게 문자열을 보여주는 것이 콘솔 출력, 사용자가 답변을 입력하는 것을 콘솔 입력이라 합니다. 아래에는 첫 문장에서 설명했던 대로 콘솔 입력을 하는 여러가지 방법들에 대해 정리했습니다. 1. InputStream 1byte의 사용자 입력을 받아들여 아스키 코드값으로 저장 import java.io.IOException; import java.io.InputStream; public cla.. 2023. 7. 13.
[JAVA] 간단한 콘솔게임 만들기 (기획) JAVA를 이용하여 간단한 콘솔게임을 만들었습니다. 해당 게임은 터미널로 값을 입력받아 진행되며, 그래픽은 따로 넣지 않았습니다. JAVA 콘솔게임을 통해 1. 객체지향 프로그래밍 2. 멀티쓰레드 3. Scanner 4. if, while문 등을 활용하고 이해하는데 의의가 있습니다. 게임 이름 : 강아지 고양이 키우기 게임 게임 규칙 게임 캐릭터 선택 : 강아지 vs 고양이 성공 : 애정 100 실패 : 애정 0 그외 상세 게임 규칙은 게임 초반에 명시(동영상 참고) 사용 객체 : 펫, 아이템, 공격, 맵 등 펫 상태 : 애정, 체력, 청결, 건강, 포만감, 돈 선택지(Map) : 선택지에 따라 펫 상태 변화 집 산책 병원 마트 일 - 밥주기 - 잠자기 - 화장실 - 목욕 - 쓰다듬기 - 궁디팡팡(고양이.. 2023. 7. 13.
반응형