반응형

Program/C# 12

C# 얕은복사, 깊은복사

복사에는 얕은복사와 깊은복사 이렇게 2가지의 방법이 있습니다.간단하게 정리하면얕은복사 ( Shallow Copy )는 참조를 복사하는 것이고깊은복사 ( Deep Copy )는 데이터의 값을 복사하는 것 입니다. 깊은복사깊은복사는 위에서 설명한대로 A라는 변수에 1,2,3 이라는 데이터가 있었을 때변수에 담겨있는 1,2,3이라는 데이터만 가져와서 새로운 변수로 복사하는 것을 의미합니다. 얕은복사얕은복사 또한 위에서 설명한대로A라는 변수에 1,2,3 이라는 데이터가 있었을 때변수에 담겨있는 1,2,3이라는 데이터를 가져오는게 아니고A라는 변수가 사용하고 있는 메모리의 참조값을 가져오는 것을 의미합니다.좀 더 딥하게 컴퓨터 사이언스 측면에서 보게되면 프로그램으로 어떤 변수를 만들고 그 변수에 데이터를 저장하게..

Program/C# 2024.11.14

C# 병렬처리1 _ Parallel

오늘은 C#에 있는 병렬처리 Parallel 클래스에 대해서 알아보고자 합니다.현재 제가 하고 있는 프로젝트 중 그룹으로 묶인 도형을 Binary 처리된 이미지에 맞게Resize, Move, Rotate하는 메서드를 구현해야하는 작업이 생겼고,해당 메서드를 단순 for문을 사용해 구현했는데 당연하게도 메서드가 돌아가는 동안에는 Main UI 에 Lock이 걸려서 프로그램이 멈추는 현상이 나왔습니다.그래서 이걸 비동기 매서드로 만들어서 Main UI에 Lock이 걸리지 않도록 할지혹은 여러개의 쓰레드를 만들어서 멀티쓰레드를 사용할지 고민이 되었습니다. 비동기 매서드로 만들자니 물론 기존메서드 실행시간보다는 단축되겠지만 순차적으로 처리해야하기 때문에확실하게 단축되지는 않을 것이라고 판단되엇고,비동기 매서드를..

Program/C# 2024.11.11
반응형