개인 자료란 (JE)

  서버 커뮤니티

Profile 눈샘 대표칭호 없음

Nun_saem 1a94a50033f242cea79056282d346f86

Profile

질문하기 Java

마인크래프트 플러그인 개발 공부 중 생긴 의문에 대한 질문

2024.06.01 조회 수 82 추천 수 0
이해도 입문자 
게임버전 (JE) 관련없음 
게임버전 (BE) 관련없음 

 만약 /p (변수 a) (변수 b) 를 쳤을 때, a+b의 값이 출력되는 명령어를 플러그인으로 만들었다고 했을 때.

 동시에 두 사람이 각각 /p 1 4, /p 6 2 의 명령어를 친다면, 혹시나 5, 8 이 값이 나오는 것이 아닌 변수가 꼬여서 3, 10 이런 식으로 나올 수도 있을까 싶어 질문합니다. 

 사실 완전히 같은 시간에 명령어를 칠 일이 얼마나 있을까 싶지만, 만약 이런 식으로 변수가 꼬일 가능성이 있다면 플러그인 만들 때 막아야 할 것 같은데, 검색을 해봐도 나오는 게 딱히 없더라고요.  

 혹시 플러그인을 제작 했을 때, 이런 오류가 나는 경우가 있는지, 만약 있다면 어떤 식으로 막아야 하는지 궁금합니다.




6개의 댓글

작은거인
2024.06.01

아뇨 절대 그럴일은 없습니다.

눈샘
2024.06.01
@작은거인

ㅇㅎ 감사합니다.

코코냐
2024.06.01

그게 꼬일거 같으면 진작에 /gamemode 1 쳤을때 다른 사람이 채팅 쳤다고 꼬였을거라 패치되고도 냠았을겁니다.

눈샘
2024.06.01
@코코냐

혹시 다른 플러그인이나 기본 마크에서는 막았는거 아닌가 싶어서 물어봤습니다 ㅋㅋㅋㅋㅋ 변수 꼬이는 일은 다행히 없겠네요 ㅋㅋㅋㅋㅋㅋ

qsef1256
2024.06.01

프로그램의 기본적인 동작은 동기이며, 모든 일이 무조건 순서대로 실행됩니다. 즉 "동시에" 라는 것은 기본적으로 존재하지 않습니다. 동시에 치는 것처럼 보이더라도 한 명령어의 실행이 끝나야 다음 명령어가 실행이 됩니다. 마크 버킷 역시 기본적인 실행은 동기이며 비동기(동시에 따로 돌아가도록)로 실행을 하고 싶다면 따로 호출해야 합니다.

실제로 실행이 오래 걸려서 따로 실행하고 싶다거나 하는 이유로 비동기로 실행하는 구문에는 이러한 문제가 발생할 수 있으며, 이를 경쟁 상태(Race condition) 또는 동시성 문제라고 합니다. 이런 문제로 여러 스레드가 접근하도록 공유하면 안되는 데이터를 임계 구역이라고 하며, 컴퓨터 공학의 운영체제 과목에서 다루고 있습니다.

눈샘
2024.06.01
@qsef1256

ㅇㅎ 감사합니다!

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3