묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
스프링 3.3.1 버전에서 생성자 함수 (new Member(username,age)) 의 값이 null 과 0으로 나오는데
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 3.3.1 버전에서 생성자 함수 (new Member(username,age)) 의 값이 null 과 0으로 나오는데 혹시 원인을 알 수 있을까요 builder 패턴으로 작성한건 값이 잘 나옵니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
h2 버전 질문드립니다...
안녕하세요.강의에서 말씀하시기를 인텔리제이 내 라이브러리에 명시되어있는 h2의 버전을 다운로드 받으라고 말씀하셨고, 강의 자료에서는 스프링부트 2.x를 사용하면 1.4.200버전을 다운로드해야되고, 스프링부트 3.x를 사용하면 2.1.214버전을 다운로드 해야된다고 말씀하셨는데요. 제 인텔리제이 프로젝트의 gradle 및 라이브러리를 보면 스프링부트의 버전은 2.7.14이고, h2의 버전은 2.1.214라고 나와있습니다.이럴때에는 h2의 어떤 버전을 다운로드 해야되는지 질문드립니다.. 현재 저의 스프링부트의 버전이 2.x라서 1.4.200버전을 다운로드해서 진행하고 있었는데 혹시 추후에 문제가 될게 있을까봐 질문드립니다.. h2의 어떤 버전을 다운로드 해야될까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션 7. post
<form action="item.html" th:action method="post"> <div> <label for="itemName">상품명</label> <input type="text" id="itemName" name="itemName" class="formcontrol" placeholder="이름을 입력하세요"> </div> <div> <label for="price">가격</label> <input type="text" id="price" name="price" class="form-control" placeholder="가격을 입력하세요"> </div> <div> <label for="quantity">수량</label> <input type="text" id="quantity" name="quantity" class="formcontrol" placeholder="수량을 입력하세요"> </div> <hr class="my-4"> <div class="row"> <div class="col"> <button class="w-100 btn btn-primary btn-lg" type="submit">상품 등 록</button> </div> <div class="col"> <button class="w-100 btn btn-secondary btn-lg" onclick="location.href='items.html'" th:onclick="|location.href='@{/basic/items}'|" type="button">취소</button> </div> </div> </form>여기서 method="post"인데 html 폼 데이터로 전송된다고 교재에 적혀있는데, 요청 데이터 전송에는Get 파라미터html 데이터 폼 전송http api 형식 데이터 전송3가지중 Post이기에 Get은 아니지만, 왜 미디어 타입에 관한 건 명시되어 있지않은데, 왜 무조건 html 폼 데이터로 전송 되는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
2강 - Http 응답 데이터 - Html 질문
html 응답에 <head>태그가 없는 이유가 response 객체에 contentType이랑 encoding 형식을 지정해줘서 그런 것 맞나요 ? package hello.servlet.basic.response; ** import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet(name = "responseHtmlServlet", urlPatterns = "/response-html") public class ResponseHtmlServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Content-Type: text/html;charset=utf-8 response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); writer.println("<html>"); writer.println("<body>"); writer.println(" <div>안녕?</div>"); writer.println("</body>"); writer.println("</html>"); } }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@ServletComponentScan 작성 후 오류를 해결했는데 이유를 알고싶습니다.
@ServletComponentScan 작성, HelloServlet 클래스까지 모두 작성 후 실행 -> 오류발생커뮤니티 글들에서 같은 오류와 해결방안을 바탕으로 해결완료.build.gradle 에서 providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 을 삭제하니정상 작동하였습니다.1.providedRuntime을 삭제하고 작동한 이유가 무엇인가요? 하지만 localhost 실행하니 servlet은 잘 생성된 것 같은데 페이지는 여전히 오류화면이 뜹니다.2024-06-20T10:54:52.014+09:00 INFO 34832 --- [servlet] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'2024-06-20T10:54:52.014+09:00 INFO 34832 --- [servlet] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'2024-06-20T10:54:52.015+09:00 INFO 34832 --- [servlet] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms 2. 서블릿이 잘 생성됐는데 페이지는 왜 오류뜨나요? jdk17 , 스프링부트 3.3.0
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션 7. 질문
상품 등록을 누르면localhost:8080/basic/items/add로 이동합니다. 그러면 상품 등록 폼이 보입니다.코드로 보면 /basic/addForm을 열었습니다.@GetMapping("/add") public String addForm() { return "/basic/addForm"; } 상품 등록 폼에서 상품을 등록합니다. 상품을 등록하면 /basic/item을 보여주게 됩니다.그런데 url을 보면 localhost:8080/basic/items/5 이렇습니다. @PostMapping("/add") public String addItemV3(@ModelAttribute Item item) { itemRepository.save(item); return "/basic/item"; }왜 items인 건지 이해가 가지 않습니다. 주소에 /basic/item으로 찍혀야 하는 거 아닌가요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션 세션 질문
1:55 쯤에서 영한님이 커넥션 10개를 생성하면, 세션도 10개 만들어진다고 하셨습니다. 그럼 1개의 커넥션에는 1개의 세션이 만들어진다가 맞나요?커넥션과 세션은 일대일 매칭인건가요?여러 커넥션이 하나의 세션을 바라보거나 하나의 커넥션이 여러 세션을 생성할 수는 없을까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Model 질문
@RequestMapping("/response-view-v2") public String responseViewV2(Model model) { model.addAttribute("data", "hello"); log.info("data={}", model.getAttribute("data")); return "response/hello"; }여기서 받는 파라미터 Model은 인터페이스고 이를 구현한 몇 가지가 있습니다. 구현된 것들은 addAttribute 메서드 또한 구현해 놨는데 어떤 게 model로 넘어오는지 모르겠습니다.ㅠpublic class ConcurrentModel extends ConcurrentHashMap<String, Object> implements Model { public ConcurrentModel(String attributeName, Object attributeValue) { this.addAttribute(attributeName, attributeValue); } }몇가지 구현체들중에 같은 메서드를 가지고있고, 이걸 사용하는 거 같은데 어떻게 이게 선택이 되는 건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오류가 납니다!!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]WARNING: A Java agent has been loaded dynamically (C:\grade\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.16\4a451ee6484abac3a498df0f3b33ed00a6fced4d\byte-buddy-agent-1.14.16.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseJava HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 이런식으로 오류나는데 어떻게 해결해야 할까요??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션 6. 질문
@PostMapping("/request-body-string-v3") public HttpEntity<String> requestBodyStringV3(HttpEntity<String> httpEntity, @RequestHeader MultiValueMap<String, String> headerMap) throws IOException { String messageBody = httpEntity.getBody(); log.info("messageBody={}", messageBody); return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED) }교재에 보니, 이렇게 나와있는데 적용을 해봤더니 Hello World가 아니라 제가 h로 입력을 보내면 H로 화면에 출력됩니다.제대로된 출력이 되지 않는 이유와 responseHeaders를 넣으면 어떻게 사용되는지 궁금합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중간중간 나오는 강사님의 노트도 볼 수 있나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]중간중간 나오는 강사님의 노트도 혹시 볼 수 있나요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Exception 던질 때 String 으로 반환값을 설정하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] @GetMapping("/api/response-status-ex2") public String responseStatusEx2() { throw new ResponseStatusException(HttpStatus.NOT_FOUND, "error.bad", new IllegalArgumentException()); } 이 코드를 보면 String 을 반환하게 되어 있는데 저렇게 exception 던지면 String 반환하는 게 아니지 않나요? void 대신 String 을 쓰는 이유가 있는지 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 안돼요,,,ㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이건 오류인가요,,,? 자바도 17버전인데,,,잘 모르겠어요 ㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
table Member not found 오류
안녕하세요.스프링부트 입문 순수 JDBC강의를 듣던 중 오류가 발생하여 문의드립니다."2024-06-17T19:01:36.901+09:00 ERROR 15128 --- [jdbc:h2:tcp://localhost/~/test] [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" not found (this database is empty); SQL statement:select * from member [42104-224]] with root cause"오류와 함께이런 화면이 나옵니다.이 화면과 같이 h2에서 MEMBER이라는 테이블도 나와있고, application.properties 파일도다음과 같이 입력되어있는 상태입니다. c드라이브 사용자 아래에 test.mv.db도 나와있는데, 계속 Table "MEMBER" not found 오류와 함께 웹 페이지에도 저렇게 나와서 문의드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
[질문 아니고 트러블슈팅 공유] Error parsing HTTP request header 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[공유 내용]환경: spring boot 3.3.0, java17, postman client, macbook m1 pro강의 내용을 따라하는 중에 포스트맨으로 요청했는데 다음과 같은 에러를 만나신 분을 위한 공유입니다. "o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header"해결 방법은 http://localhost:8080/request-body-string 에서 http:// 를 뺀 후 두 번 이상 요청하시면 요청하면 정상 작동합니다. 에러 메시지2024-06-18T13:48:38.325+09:00 DEBUG 38801 --- [servlet] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] 2024-06-18T13:48:38.330+09:00 DEBUG 38801 --- [servlet] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
32강 spring mvc 안보임
밑에 질문목록에 있는데로 들어가서 모두 만들었는데 옆에 s가 안뜨고 j가 떠서 다른 거 더 찾아봐서 했는데 안되길래 eGovframe Web project 로 그냥 만들어서 실습 진행해도 되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost연결이 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]HelloSpringApplication.java의 main 실행 했을 때 사진과 같은 화면이 뜹니다. locallhot는 연결이안됩니다.JDK는 17.0.11.9 버전으로 다운받았습니다.어디가 잘못된걸까요..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
한글 인코딩 설정이 안됩니다..
안녕하세요 ! IntelliJ로 라이브 코딩 따라하는데 아래처럼 한글이 깨져서요 [��ü �Ķ���� ��ȸ]-start[��ü �Ķ���� ��ȸ]-end 구글링해서 따라해봤는데 File Encoding > UTF-8 설정 완료 (Global, Project, Default 모두) idea.64.exe.vmoptions 파일 설정 -Xmx2048m -Dfile.encoding=UTF-8구성 편집에서 어떻게 encoding 하는지 잘 모르겠습니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
프록시 호출
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]static class CallService{ public void external() { log.info("call external"); printTxInfo(); internal(); } @Transactional public void internal() { log.info("call internal"); printTxInfo(); } }위 코드에서 교안의 그림과 설명에서 callService.external()을 호출할 때, 트랜잭션 프록시로부터 먼저 호출된다고 되어있는데 external()메서드는 @Transactional이 적용되어 있지 않음에도 프록시로 호출되는 이유는 같은 클래스 레벨인 internal()메서드에 @Transactional이 선언되어 있어서 CallService클래스 자체가 프록시로 생성되기때문인가요?옳바르게 이해한지 확인하고싶어 질문드립니다ㅠㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
그래서 정확히 멀티 쓰레드라는 게 무엇인가요?
쓰레드의 개념에 대해 알겠고, 실제로는 요청마다 쓰레드를 생성하는 것이 아니라 쓰레드 풀에 쓰레드를 200개 정도 생성해두고 꺼내 썼다가 반납한다는 것까지 알겠는데,그럼 멀티 쓰레드는 동시에 여러 쓰레드들이 사용되고 있는 그 상황을 의미하는 건가요?