[C#] - C# 멀티쓰레드 사용법 - Thread
2022. 12. 26. 21:38
Development/C#
오늘은 C#으로 Thread를 사용하는 방법에 대해 정리해보려고 한다. Thread 함수 사용 using System.Threading을 선언해야한다. Thread 함수를 이용하여 멀티쓰레드를 이용 할 수 있다. 우선 쓰레드에서 수행할 함수를 작성해야한다. 위에선 MainThread 함수 부분이다. 쓰레드를 사용하기 위해서 Thread t = new Thread(수행할 동작을 포함하는 함수 = MainThread)로 Thread 객체를 생성한다. 그 뒤 t.Start()를 통해 해당 쓰레드의 동작을 시작하면 된다. 위에 부수적인 기능들이 있는데 그부분을 설명하자면 1.t.Name t.Name 을 통해 Thread의 이름을 설정 할 수 있다. 설정한 이름은 아래와 같이 확인 할 수 있다. 2. t.isBa..
[C++] Mutex
2022. 10. 8. 01:28
Development/C++
이전 포스트에서 std::thread를 이용하여 멀티 스레드를 사용해보았다. 포스트의 마지막에 말했던 멀티 스레드 프로그래밍을 하면서 주의해야 할 점에 대해 알아보려고 한다. thread를 처음 사용시 예상하지 못하는 문제점 우선, thread는 process와 다르게 스택 메모리를 제외한 나머지 힙, 코드, 데이터 영역을 공유한다. 아래와 같은 코드를 작성하고 출력되는 결과를 한번 예상해보자. #include #include #include using namespace std; int num; void addNum() { num++; } int main() { vector vThread; for(int i = 0; i < 5; i++) { vThread.push_back(thread([]() { for..
[C++] Process와 thread
2022. 10. 5. 23:34
Development/C++
오늘은 thread에 대해 알아보도록 하겠다. 스레드(thread)란 ? 프로세스 내에서 실제로 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 개 이상의 스레드가 존재하고, 작업을 수행한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 두개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스라고 한다. 프로세스(Process) 란? 간단하게 말하면 실행 중인 프로그램이라고 할 수 있다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말한다. 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다. 프로세스와 스레드의 차이 우선 가장 큰 차이점으로 메모리 공유여부에 대한 부분이 다르다. 프로세스..