옛날에는 비동기 처리할일이 많지도 않았고 트래픽이 엄청난 서비스도 없었어서 그때그때 쓰레드 생성해서 던지면 됐음
근데 점차 비동기를 처리할일이 많아지니까 어? 쓰레드를 너무 생성해서 오히려 느려지네?
그래가지고 cpu 코어당 최적의 쓰레드를 계산해서 딱 그 개수의 쓰레드만 돌리도록 했음
근데 해보니까 빨라지지 않는거야
2코어 4 쓰레드 cpu라서 8쓰레드를 돌리게 했는데 8개의 쓰레드가 모두 IO 태스크로 꽉차면 그 뒤에 애들은 끝날때까지 기다려야 하는거지
그래서 코루틴이 각광받기 시작하는거임
IO중에 쓰레드 점유하는걸 그냥 빼버릴 수 있게 된거니까 ㅇㅇ
코루틴은 이제 신입 기본 면접에도 들어갈거고 꼭 공부해놔라
예시로 든 경우가 발생하지 않도록 쓰레드의 쓰임이 구분되어 있는데요
그래서 IO 쓰레드 8개 있는데 IO 작업 9개있으면 코루틴 없이 블락 돼 안돼 새끼야
하하 스레드 프로세스 물리 코어 논리 코어 우하하 팡파래!!
근데 코루틴이 왜 IO 작업중인 스레드와 별도로 돌아감?
IO는 cpu가 하는게 아니라 디스크가 하는건데 요청 후 작업을 기다리지 않으니까
찾아보니까 코루틴이 lightweight thread, 싱글 스레드 상에서 시분할로 concurrency 를 구현하는거라고 이해했는데 맞음?
그렇게 함으로써, 한개의 스레드 상에서 OS 와는 별개로 시분할로 여러 작업을 concurrency 하게 돌리니까 context-switching 이 최소화되고 그 만큼 multi-threaded 를 통한 concurrency 보다 상대적으로 적은 비용이 필요하다는 거지?
ㄴ 코루틴과 쓰레드는 연관성이 없음 잘못 배운듯
OS에서 할당가능한 스레드의 수가 정해져있다 가정하고, 그 모든 스레드에서 IO 작업같은 특정 이벤트로인해 모두 유휴 상태라고 할때, 코루틴이라고 딱히 코루틴이 그 상태에서 추가 작업을 할 순 없는거 아님? 왜냐면 코루틴은 한 개의 스레드상에서 여러개의 작업을 시분할로 돌아가게 하는거니까. 최소 한개 이상의 코루틴을 위한 스레드가 필요하니까?
깃갤 수준 역겨울 정도로 떨어졌네 스레드랑 전혀 상관 없는데 에휴
너가 글을 못읽는단건 알겠네
글 보니꺼 IO 작업도 모르고 로우 레벨도 모르고 코루틴도 모르는 개씹땔깜인 거 뻔히 보이는데 뭔 글 못 읽는다 ㅇㅈㄹ 함? ㅋㅋㅋㅋ 진짜 개같이 역겹다 비전공 학원 출신 웹 땔깜이지? 진짜 글에서 무식무식함 존나 뿜어내고 있는데 ㅇㅅㅇㅋㅋ 너만 모름 ㅋㅋㅋ
비동기도 모르고 스레드도 모르고 그냥 ㄹㅇㅋㅋ 아는 게 아무 것도 없는 놈인 거 존나 뻔히 보이는데 무슨 자신감으로 이런 글 쓰는 거임 ㅇㅅㅇㅋㅋ
일침충이 나대네 ㅋㅋ 그래놓고 뭐가 틀렸는진 말 못하쥬 ㅋ
본문 내용은 쓰레드 풀에 코루틴을 쓰는 내용을 말하는거 같은데 49.142 게이는 뭐 때문에 스레드랑 전혀 상관없단 얘기 하는거임? 쓰레드랑 코루틴을 비교하지도 않았구만
이거 밑바닥이 스레드풀이건 넌블럭 api + 시그널 or 폴링이건 둘다 래핑을 코루틴의 형태로 할 수는 있는데 - dc App
보통 io를 스레드에 물리는게 낭비라 넌블럭의 형태로 짜고 거기서는 스레드풀 조차 안쓰니까 저런말이 나와도 이상한게 아님 - dc App
근데 스레드라는 단어가 졸라 함정이라 유저스레드라고 하면 또 할말이 업는데 본문보면 그건 또 아님 - dc App
이거 잘못알고 있으면 node처럼 스까쓰는 환경에서 통수맞는거 - dc App
애초에 코루틴이 아니라 넌블럭이라 했어야 했음 - dc App
코루틴이 뭔지 비동기가 뭔지 정의도 모르고 꾸득꾸득 나대는 꼬라지 진짜 개같이 역겨움 ㅇㅅㅇㅋㅋ 그냥 기본 개념조차 없는 개병신인 거 스스로 자백하고 있는데 계속 지만 모르는 중ㅋㅋㅋㅋ
내가 느그 선생이나 교수도 아니고 왜 니한테 기본 개념까지 알려줘야함ㅋㅋ 그냥 ㄹㅇ 계속 기초 개념도 모르는 개병신으로 사셈 ㅅㄱㅋㅋ
아는사람이 이상한거임 대부분 자세히 모름 - dc App
49.142는 그냥 딱 자기가 아는것만 아네 ㅋ 이론적인건 모르고 그냥 구현체 하나만 보고 그게 다인줄 아는듯
코루틴과 비동기는 아무 연관이 없단다 무식한거 티내지 말고...
이론적인 거 모르고 짖거리는 게 바로 너야 병신아 ㅋㅋㅋㅋ 어디서 코루틴 몇 번 써보기만 하고 그게 뭔지 처 알지도 못하면서 아는 척 짖거리는 코드 몽키 새끼 ㅋㅋㅋㅋ
대부분의 언어들이 코루틴에 비동기 기능까지 넣어주니 헷갈릴만한데 코루틴은 걍 루틴을 일시정지하고 재개할 수 있는 함수일뿐임 공부좀하자... 욕만해봤자 수준낮아보여
내가 비동기랑 코루틴 엮은 적이 없는데 또 빡대가리 종특 나왔죠?? 지 뇌내 망상으로 묶어버리죠? ㅋㅋㅋ 본문에 코루틴도 모르고 비동기도 모르고 그냥 개소리 짖거리는 거 지적했더니 갑자기 뇌내망상~~ㅋㅋㅋㅋ
이런 대가리에 든 거 없는 개병신새끼들은 발전 가능성이라는 게 없음ㅋㅋㅋㅋㅋ
이 정도로 욕 처먹었으면은 구글링해서 지가 뭐가 틀렸는지 찾아보기라도 해야지 그것도 안 하고 지 뇌내 망상으로 정신승리 하려고 애 쓰는 꼬라지 보니까 그냥 학원충 수준에서 절대 발전 못할 새끼인 거 존나 뻔히 보임ㅋㅋㅋㅋㅋ
혼자 비동기 ㅈ만하게 아는거가지고 우쒸 비동기도 모르는새끼가 글을 써? 하는게 너상황임 ㅇㅇ
왜 테스크 방식의 스케줄링 얘기 해놓고 단어의 핵심을 코루틴으로 짚은건지 모르겠음 - dc App
니가 웹땔깜 병신 SI 팔려나가는 잡부 새끼라 면접볼 때 블락-논블락, 동기-비동기 같은 씹기초적인 개념 질문도 받은 적이 없어서 니가 그것도 모르는 병신인 게 보임 ㅇㅅㅇㅋㅋ
이전까지의 넌블로킹 IO들은 cpu 사용량이 오히려 상승하는 문제점이 있었지만 코루틴으로 개량한 api들은 그런 문제들이 사라졌으니 각광받기 시작한거지;
애초에 밑바닥에서 도는 방식이 넌블럭이건 스레딩이건 래핑이 코루틴인거랑은 전혀 별개의 문제잖음 - dc App
진짜 기초적으로 IO 처리를 효율적으로 하기 위해 고안 되온 게 있는데 개 좆도 모르고 언급도 없다가 갑자기 코루틴으로 점프~~ㅋㅋㅋ IO 작업도 모르고 코루틴도 모르는 게 뻔히 보이죠??? 코루틴을 어떻게 만들지 지 뇌로 생각해본 적도 없고 어디서 언어단에서 지원해주는 거 써본 게 다죠?? 그저 '마법'이라고 생각하는 게 보이죠??? 진짜 수준 개같이 낮은 코드몽키새끼 인 거 뻔히 보이는데 지가 마치 대단한 새끼인 것 마냥 현자놀이 처하면서 글 싸고 있는 게 너무 역겨움
이새끼는 코루틴이 왜 코루틴인지 이름이 왜 그런지도 모르고 아가리 터는 꼬라지가 뻔히 보여서 진짜 좆같이 역겨움 ㅇㅇㅋ
제 생각엔 지금 러슬람 한명이 난입해야함 이거 Future + async 런타임 직접 한번 구현해보면 전부 이해할수있음 - dc App
49.142는 그냥 epoll 하나 알고 나대는거 같은데 원시적인 epoll 말고 코루틴 함께 적용시킨 모델들도 좀 공부해보고 ㅇㅇ... 안타깝다
유닉스 계열에서 무슨 언어를 쓰선 넌블럭 io 코루틴으로 표현한거 래핑 까보면 밑바닥에 다 epoll 들어감 - dc App
끝까지 정신승리~~~ 제발 기초 개념도 없고 공부할 생각도 없는 SI 땔깜 새끼면은 okky 로 좀 꺼져
코루틴 자체에는 안들어가는데 코루틴이랑 엮여서 도는 api의 구현에 들어가는거라 코루틴 자체는 이거랑 별개다 하는거면 님말이 맞음 - dc App
코루틴 뜻을 모르는건 너같은데 너야말로 비동기 얘기 꺼내고 쓰레드 얘기 꺼내는게 코루틴 뜻을 모르는듯 ㅋㅋㅋ 코루틴은 비동기 스레드랑 아무 상관 없단다;;
코루틴이건 스레드건 단어가 너무 변질돼버려서 말하면서도 헷갈린다 - dc App
코드 표현 방식이라는 의미로 썼으면 본문에서 스레딩 방식이랑 비교한게 말이 안됨 - dc App
블락 논블락 동기 비동기 스레드 리액터 프로액터 epoll, IOCP 고 뭐고 그냥 대가리에 하나도 든 거 없이 '코루틴' 이라는 단어에 꽂힌 개병신 코드몽키새끼는 제발 오키로 꺼지고 ㅇㅇ 아는 척 하지마셈 진짜 개같이 역겨우니까
쓰레드 풀에 서브루틴들 넣는 방식으로 하니까 서브루틴들에서 블록킹이 걸려버리면 비효율적이니 코루틴을 넣는다는거잖아 쓰레딩 방식을 언제 비교함?
자꾸 내 말 곡해하고 왜곡하면서 개소리하는 것부터 기초 개념이 없어서 지가 뭔 개소리를 했는지 몰라서 그러는 건데 ㅇㅅㅇㅋㅋ 도대체 구글에 검색 안 해보고 꾸득꾸득 계속 우기는 이유가 뭐임? 저능아 자랑임? 진짜 앞으로 발전이라고는 단 하나도 할 수 없는 인간인 거 스스로 티내는 것인가? ㅋㅋ
본문에서 쓴 코루틴이랑 댓글에서 말하고 있는 코루틴이랑 의미가 다름 같은 ip 다른 인물임? - dc App
본문내용: 그냥 쓰레드 생성해서 던짐 -> 쓰레드풀로 관리함 그랬더니 쓰레드풀에 블로킹으로 차있어서 막히는 문제가 생김 -> 쓰레드풀에 코루틴을 던지도록 함
본문 내용부터 오개념으로 가득찬 정크 그 자체라 글쓴이 코드몽키 수준 뻔히 드러내는데 글 쓴 놈만 모름ㅋㅋ 모르는 거, 잘못 알고 있는 거, 잘못된 예시, 갑작스러운 논리의 비약 그야말로 정크 그 자체 ㅇㅇㅋ 내가 느그 선생이나 교수도 아니고 그만함 ㅇㅅㅇㅋㅋ 그냥 계속 그렇게 사셈 ㅇㅅㅇㅋㅋ
본문은 스레딩이랑 스레드풀도 구분한건데 댓글은 그 두개를 퉁쳤다 <-- 알겠음 - dc App
얜 진짜 끝까지 지 세상에서 살놈이네 오키는 너가 가야할듯
스레드 풀을 코루틴으로 래핑할 수 있다 <-- 알겠음 - dc App
사람이 이렇게 얘기하면 한번쯤은 자기 지식에 의심을 해볼만도 한데 그런모습이 1도 없는거 보니 5년쯤 뒤엔 안보이겠다 ㅇㅇ
스레드 풀에 스케줄링을 해서 cpu를 더 갈굴 수 있다 <-- 맞음 - dc App
epoll같은 넌블럭 계열도 코루틴으로 표현할 수 있음 <--- 동의 가능? - dc App
스레드풀 + 넌블럭 둘다 쓰면서 코루틴의 형태로 표현 가능 <--- nodejs 런타임 - dc App
잡스틸링은 스케줄링이고 이걸 코루틴으료 표현할 수 있다 <-- 표현 방식이 코루틴이고 다른 방식으로도 표현 가능 - dc App
애초에 스레딩은 전혀 다른 얘기고 밑바닥에 스레드풀이 들어있건 epoll이 들어있건 별개의 문제 <-- 님의 스텐스 - dc App
근데 왜 본문에선 스레딩이랑 비교를함.., - dc App
;; 옛날과 요즘의 개발 트렌드로 얘기하고 있는거잖아 옛날 일반 스레딩(톰캣 + 스프링) -> 요즘 (네티 + Webflux) -> 미래 (네티 + coroutine)
그건 자바 한정이잖음 - dc App
고랭이나 노드라고 이런 수순 안밟을거같음?
걔내들은 그 수순을 밟은게 아니라 그 수순 이후에 나왔음 - dc App
까놓고 님이 말한거 전부 코루틴 안쓰고 cps로 코딩해도 전부 가능함 - dc App
야딩조무사는 fastapi 가 왜 빠른지 공부해보면 좋을듯
왜 갑자기 딴길로 새는거임 - dc App
아 fastapi 가 아니라 fastify네
그 오픈소스 이미 기여했음... - dc App
??? 너가 고나 노드는 그 수순 이후에 나왔다며 정말 그런지 확인해보라고
ㅇㅇ 그래서 언어에 비동기를 지원하는 런타임이 있음 - dc App
코드 표현이 코루틴인거랑은 전혀 별개의 문제임 - dc App
앞에 적은 내용들 부터가 틀린것들 많음 내가 보기에 글쓴이 실무경험이 적거나 쥬니어인듯 - dc App