디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[창작,일지] Cancelable Coroutine 아이디어

흉황갤로그로 이동합니다. 2024.05.15 21:01:57
조회 106 추천 2 댓글 4
														

얼마 전에 고도4의 await 코루틴의 한계를 극복하기 위해 여러가지 아이디어가 오고갔던 것 같은데

저도 슬쩍 의견 하나 제안해보려고 함


제가 생각해본 건 StringName을 기반으로 관리되는 코루틴임미다.


3fb98268f5dc3f8650bbd58b3680766bcc0c

39bb8268f5dc3f8650bbd58b36827764ff2d


Cancelable 객체에서 await()을 호출하면,

내부적으로 CancelableCoroutine 객체를 생성하고,

1번째 인자를 CancelableCoroutine 객체 _resume()에 연결함

마지막으로, CancelableCoroutine 객체가 소유한 resume_signal을 리턴함


여기서 두번째 인자로 StringName을 받아서(생략하면 기본 값으로 "")

코루틴의 이름을 지을 수 잇슴



2ebcde25e0de76b660b8f68b12d21a1dc855c169

cancel()을 호출하면 파라미터로 들어온 이름에 해당하는 CancelableCoroutine객체를 할당 해제시킴

(이미지 상으로는 기본 인자인 ""에 해당하는 객체를 지우겠네요)

결과적으로 CancelableCoroutine객체가 지워지므로 이 객체의 resume_signal에 연결되어있는 await도 멈춥니다.



test1()는 건너뛰고 test2()에 대한 테스트만 한번 해보겠습니다.

(테스트 세팅: 2초짜리 루핑 타이머, 버튼 누르면 cancel() 동작)


case#1: cancel()

39ef8168e2db3e8650bbd58b368774655f994d

""에는 아무 코루틴도 바인딩되어있지 않기 때문에 timer.stop()이 호출되어 타이머가 멈추게됩니다.



case#2: cancel("s1")

39ef8268e2db3e8650bbd58b3689756eec5fde

test2()의 진행이 "s1"에서 막히므로 아무 출력도 일어나지 않고 타이머도 멈추지 않습니다.



case#3: cancel("s2")

39ef8368e2db3e8650bbd58b3689746b1f7bff

test2()의 진행이 "s2"에서 막히므로 "s1" 직후까지만 출력되고 타이머도 멈추지 않습니다.



그럼 다들 즐데브 하새오

2

추천 비추천

2

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2864 설문 비난 여론에도 뻔뻔하게 잘 살 것 같은 스타는? 운영자 24/06/03 - -
1 공지 고도엔진 마이너갤러리입니다 Monung갤로그로 이동합니다. 20.04.23 1848 15
116 공지 내가 본 것중 젤 도움된 튜토리얼 [11] ㅇㅇ(121.161) 20.09.15 7617 21
4372 일반 고도 아이콘 좀 귀여운거 같음 [1] 고도초보자(222.236) 05:08 3 0
4371 질문 Godot4 characterBody2d 단방향 플랫폼 스냅 문제 질문점 [2] longZam갤로그로 이동합니다. 06.04 50 0
4370 일반 ???: 수준이 낮아서야 원 ㅋㅋ 겸손할 줄 아세요 [18] ㅇㅇ(118.235) 06.04 175 8
4369 일반 호감고닉들 긴장해라 [6] ㅇㅇ(223.39) 06.04 100 2
4368 질문 뉴비 질문 [6] 로제타갤로그로 이동합니다. 06.04 72 0
4367 일반 고도의 딸각빌드가 그립구나... [20] 정짜르갤로그로 이동합니다. 06.04 174 0
4366 질문 같은 이미지가 여러개 겹치는건 어떤원리야? [7] ㅇㅇ (180.71) 06.04 112 0
4365 일반 c#으로 넘어가야겠음. [24] ㅇㅇ(118.235) 06.04 203 0
4363 일반 와하하 드디어 언팩에 성공했다! [6] 퀼트갤로그로 이동합니다. 06.04 200 0
4360 일반 고도콘 v1 출시안내 [12] boost갤로그로 이동합니다. 06.03 189 6
4359 일반 갤 관리안하고 인갤만 놀러가면 [1] ㅇㅇ(211.195) 06.03 122 3
4353 일반 Godot, The gayme engine. [11] ㅇㅇ(222.113) 06.03 239 0
4351 일반 악! 게 이임을만드는건너무조아 해병님! [6] ㅇㅇ(118.235) 06.03 176 4
4350 일반 왜또 비주얼 코드 주석 고장났지 [1] 환월갤로그로 이동합니다. 06.03 59 0
4349 질문 언팩하는 방법좀 자세히 알려주실분...? [4] 퀼트갤로그로 이동합니다. 06.03 175 0
4347 일반 클라이언트단도 언어 영향 크나? [16] 악몽의융합체갤로그로 이동합니다. 06.02 238 0
4346 일반 이거 좀 지리네 ㅇㅇ(125.137) 06.02 98 0
4344 질문 고도 itemlist 유용해 보이는데 어떻게 쓸지 모르겠네요 [4] ㅇㅇ(221.141) 06.02 85 0
4343 일반 와 서버 막혀서 질질 끌렸는데 결국 강좌 다 끝냄. [4] ㅇㅇ(125.137) 06.02 151 3
4342 창작, 오늘한것 - 테트리스인벤 도전 (#18) [1] ㅇㅇ갤로그로 이동합니다. 06.02 118 7
4341 일반 어떤 수학을 배우면 좋음? [14] 얍얍(175.192) 06.02 226 3
4340 일반 게임엔진별 랜덤 [4] boost갤로그로 이동합니다. 06.02 182 3
4339 일반 [해결함]혹시 이 튜토리얼 자료 멀티플레이 실행 가능한 사람 있음? ㅇㅇ(125.137) 06.02 83 1
4338 일반 고도콘 등록완료 [2] boost갤로그로 이동합니다. 06.02 125 0
4337 일반 귀여운 고도콘 발견 [8] boost갤로그로 이동합니다. 06.01 169 2
4336 일반 animatedsprite2D 인터페이스 있잖아 [17] ㅇㅇ(125.137) 06.01 120 0
4335 질문 (해결) 커서 앞뒤로 왔다갔다 하는 단축키 없음? [4] boost갤로그로 이동합니다. 06.01 82 0
4334 일반 이게임 아류작으로 만들어 보고 싶은데 도저히 엄두가 안난다 ㅋㅋ [9] 퀼트갤로그로 이동합니다. 06.01 208 0
4333 일반 고도는 vfx강좌 없나 [3] ㅇㅇ(125.137) 06.01 93 0
4332 일반 유니티에서 고도로 갈아탈려는데 난이도 어떰?? [6] ㅇㅇ(182.237) 06.01 181 0
4331 일반 수영장 컨셉의 으스스게임 만들었음 [18] ㅇㅇ(210.103) 06.01 307 7
4330 자료 전역 플러그인 설치방법 (globalize-plugins) [1] boost갤로그로 이동합니다. 06.01 76 3
4329 질문 투명한 window 뒷배경 클릭 번쩍임 현상 [2] ㅇㅇ(112.154) 06.01 95 0
4328 일반 gpt는 4o가 돼도 고도 코드는 잘 못짜네 [2] ㅇㅇ갤로그로 이동합니다. 06.01 139 0
4326 일반 님들아 4.3 베타 뜸 [4] ㅇㅇ(125.137) 05.31 175 0
4325 창작, 괴혼 비슷한 게임 [3] 백인선(14.58) 05.31 170 6
4324 일반 @tool은 무슨 용도임? [3] ㅇㅇ(125.128) 05.31 109 0
4323 일반 고도 학원 같은게 있으면 좋을텐데 [3] 왕초보개발자(223.38) 05.31 140 0
4321 일반 전에 3D모델링 LumaAi 해본 경험담 [3] 바라랑-잡초미갤로그로 이동합니다. 05.31 146 0
4320 일반 태블릿으로 돌려볼려는데 p12정도면 ㄱㅊ? [3] ㅇㅇ(59.13) 05.31 79 0
4319 일반 json 생성기같은거 윈폼으로 대충 만들면 되는가?? [3] ㅇㅇ(39.7) 05.31 83 0
4317 창작, 타워디펜스 [1] boost갤로그로 이동합니다. 05.31 100 0
4316 창작, [4.x/2D]굵기가 변하기 않는 링 [14] 정짜르갤로그로 이동합니다. 05.30 241 8
4315 질문 Gdscript가 동적 타입 언어라는데 [8] ㅇㅇ(211.36) 05.30 181 0
4311 질문 마우스 상호작용 문제를 해결하고 싶습니다 [3] 바라랑-잡초미갤로그로 이동합니다. 05.30 133 0
4310 일반 고도엔진 입문자 특징: [6] ㅇㅇ(222.113) 05.30 282 2
4309 자료 window 배경 투명 + 뒷배경 클릭 가능하게 하는방법 [1] octalog갤로그로 이동합니다. 05.29 134 4
4308 일반 배경을 투명하게 하는 게 아니라 아예 클릭할 수는 없음? [2] ㅇㅇ(112.154) 05.29 97 0
4302 질문 고도엔진은 안드로이드 빌드할 때 sdk패키지같은거 받을 필요 없나요? [4] ㅇㅇ(112.168) 05.29 104 0
4301 일반 소리소문없이 나온 고도 입문서 [2] ㅇㅇ(210.223) 05.29 181 1
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2