쓰레드(Thread)의 이해와 사용법
클래스 스레드는 단일 실행 스레드를 나타냅니다. 스레드를 사용하면 여러 기능을 동시에 진행하여 실행할 수 있습니다. stdthread는 C11에서 표준으로 되었습니다. include thread 생성은 보통 아래 방법이 있습니다. lambda를 이용한 방법도 있는데, 나중에 한번 분석해 보도록 하겠습니다.
스레드Threads의 사용방법
Threads의 사용 방법은 다음과 같습니다. 앱의 첫 화면에서는 홈, 검색, 글쓰기, 활동, 내 프로필이라는 다섯 가지 메뉴가 있습니다. 홈 화면에서는 팔로우한 계정의 새로운 글이나 추천 게시물을 확인할 수 있으며, 해당 계정의 Threads로 들어가 소통할 수 있습니다. Threads는 텍스트 기반의 SNS 채널이므로 게시물에는 텍스트와 함께 사진이 올라옵니다. 글쓰기 기능을 사용하면 자신의 게시물을 작성할 수 있습니다.
텍스트는 500자 이내, 사진은 10장, 영상은 5분 이내로 업로드할 수 있습니다. 기본적으로 다른 SNS와 유사한 사용 방법을 가지고 있으며, 팔로워들의 글을 탐색하고 좋아요를 누르거나 답글을 달고 공유할 수 있습니다.
내비게이션이 안내해 주는 길을 따라 가는 방법
운전을 하는 나Main thread와 상관없이 동작하는 내비Sub thread는 내 여행길Prcess 1에 늘 함께하기 때문에 목적지가 어디인지, 현재 위치가 어디인지, 얼만큼 왔는지 등등의 정보Data, Memory를 나Main thread와 함께 공유합니다. 덕분에 2번 방법보다. 빠르고 효율적입니다. 그리고 내Main thread가 운전을 하는 동안에도 내비Sub thread는 별도로 동작하므로 1번 방법처럼 운전을 멈추고 길을 찾을 필요도 없습니다.
1. 잠시 정차하여 지도를 볼 수도 있고 Main thread 안에서 순차적 수행 2. 길을 잘 아는 친구에게 전화를 걸어 물어볼 수도 있지만 다른 Process를 동작시켜 통신함 3. 내비게이션이 안내해 주는 길을 따라 가는게 편합니다.
일반 쓰레드 Normal Threa
쓰레드를 만들 때 주요하게 쓰이는 구문은 아래와 같습니다. 1. 직원 채용 공고를 내고 thread1 threading.Threadtarget 쓰레드 동작 함수, arg 필요한 인자값 쓰레드 함수 연결
3. 직원이 일을 시작합니다. thread1.start 쓰레드 동작 시작
사장Main은 직원Thread을 뽑았으니 일을 줄여 3개의 일을 0.1초마다. 하고, 결과를 살펴보면, 사장Main은 일을 빠르게 끝내고 퇴근을 하지만Main thread 종료 일이 서툰 일반직원Normal thread은 일을 마칠 때 까지 야근을 하고 퇴근Sub thread 종료합니다.
물론 일이 빠르게 끝나면, 사장보다. 빠르게 퇴근할 수도 있습니다.
스레드 사용법
스레드 사용법은 다른 SNS들과 크게 다를바 없습니다. 하단에 있는 메뉴 탭은 인스타그램과 흡사다고 보시면 되지만 하지만 텍스트 위주입니다. 보니 사진으로 대신하는 인스타와 달리 정신지저분이 없어 보일 수 있습니다. 돋보기를 누르시면 현재 스레드를 사용하고 있는 유저들이 쭈욱 뜨는데 연예인파란 딱지들도 많이 가입되어 있는 걸 볼 수 있고, 하트 모양은 활동내역을 볼 수 있으며 게시물을 올릴 땐 가운데에 있는 글쓰기 버튼을 누르시면 됩니다.
인스타그램은 다른 사람의 글을 퍼갈 때는 리그램 아니면 리포스트앱을 별도로 설치해야 했었지만 스레드는 퍼가고 싶은 게시글 밑에 있는 동기화 아이콘처럼 생긴 아이콘을 누르시면 바로 퍼갈 수 있게 리포스트와 인용하기가 뜹니다.
데몬 쓰레드 Daemon threa
직원Thread이 늘어나고 사무실이 커지면서 사무실을 관리하는 직원Thread을 뽑았습니다. 관리직원Thread은 회사의 주요 일을 수행하지는 않지만, 유령Daemon처럼, 보이지않는 곳에서 직원들이 유쾌한 환경에서 일을 할 수 있도록 청소를 하고Garbage Collector 서류를 저장하는Auto Saving 등의 역할을 합니다. 이 관리직원Daemon thread은 비록 필요한 일은 아니지만Low priority 조용히 자기 일을 하다가 모든 직원들Normal threads이 퇴근을 하면 함께 퇴근 합니다.
관리직원Daemon thread은 사장Main이 퇴근하더라도 한 명의 직원thread이라도 남아 있다면, 퇴근을 하지 않습니다. 데몬 쓰레드를 만드는 방법은 일반 쓰레드와 같습니다. 다만 개발된 쓰레드를 데몬으로 할 것인지를 설정해 주기만 하면 됩니다.
자주 묻는 질문
스레드Threads의
Threads의 사용 방법은 다음과 같습니다. 좀 더 구체적인 사항은 본문을 참고하시기 바랍니다.
내비게이션이 안내해 주는 길을 따라 가는
운전을 하는 나Main thread와 상관없이 동작하는 내비Sub thread는 내 여행길Prcess 1에 늘 함께하기 때문에 목적지가 어디인지, 현재 위치가 어디인지, 얼만큼 왔는지 등등의 정보Data, Memory를 나Main thread와 함께 공유합니다. 좀 더 구체적인 사항은 본문을 참고해 주세요.
일반 쓰레드 Normal
쓰레드를 만들 때 주요하게 쓰이는 구문은 아래와 같습니다. 구체적인 내용은 본문을 참고 해주시기 바랍니다.