C#/C#정리2021. 9. 28. 20:17[C#] 관리되는, 관리되지 않는 코드

관리되는 코드, 관리되지 않는 코드 C#을 처음 공부할때 나에게 너무 어려운 에러 문구였다. 쉽게 말하면 관리되는 코드 .NET CIL로 작성하고 컴파일 하는 .NET상의 코드 - GC 메모리 관리가 된다. 관리되지 않는 코드 기계 코드를 직접 컴파일 하도록 컴파일되는 .NET에 없는 코드 - GC 메모리 관리가 안된다. ex) 윈도우 시스템 자원 🌳 IntPtr - 인터포인터 관리되지 않는 메모리 블록에 대한 포인터 정수형 포인터를 의미하는 값 형식의 타입 포인터는 메모리 주소값을 보관하는 곳 IntPtr타입은 메모리 주소를 가리키는것 외에 윈도우 OS의 핸들값을 보관하는 용도로 쓰인다. 핸들은 윈도우 OS가 특정 자원에 대한 식별자로서 보관하는 값인데 일례로 파일이 좋은예다. 파일처리, OS에서 제공..

C#/C#정리2021. 9. 28. 20:14[C#] Thread 쓰레드 동기화

사용 이유 멀티 스레드는 실행 순서가 불규칙하다. 공유 리소스(shared resource)에 대한 스레드의 동기화(synchronization)처리가 되지않았다. Monitor : 모니터 Enter와 Exit 코드 사이에 위치한 모든 코드는 한 순간에 스레드 하나만 진입해서 실행할 수 있다. 또한 Enter와 Exit 메서드의 인자로 전달하는 값은 반드시 참조형 타입의 인스턴스여야 한다. private static object lockObj = new object(); Monitor.Enter(lockObj); try { ~~~ } finally { Monitor.Exit(lockObj); } * Wait(lockObj) / Pulse(lockObj) / PulseAll(lockObj) Lock : 스..

C#/C#정리2021. 9. 28. 20:06[C#] Thread 쓰레드

Thread 스레드는 명령어를 실행하기 위한 스케줄링 단위 프로세스 내부에서 생성할 수 있다. OS에서 멀티 스레딩을 지원한다면 하나의 프로세스가 여러 개의 스레드 자원을 가질 수 있다. 프로세스가 생성될 때 기본적으로 한 개의 스레드를 함께 생성하며 이를 main thread, primary thread라고 부른다. Thread 상태 알아보기 Thread thread = Thread.CurrentThread; Console.WriteLine(thread.ThreadState); // 출력결과 Running Thread 생성 Thread 생성은 Trigger 쪽에 두지 않고 초기화 쪽에 두는것이 일반적이다. using System.Threading; Thread Mythread Mythread = new..

C#/C#정리2021. 9. 28. 19:45[C#] 다양한 타입(object, dynamic, var)

object : boxing, unboxing 모든타입이 상속 받아야하는 최상단 타입 그렇기 때문에 모든 타입은 object 타입으로 형 변환이 가능하다. 이때 boxing, unboxing 이라고 한다. dynamic 루비나 파이썬같은 동적 언어도 .NET프레임워크에서 실행할 수 있게 연동하기위해 나왔다. var와 비슷해 보이지만 var는 컴파일 빌드 시점에 초기값과 대응되는 타입으로 치환하지만 dynamic은 해당 프로그램이 실행되는 시점에 타입을 결정한다. var 박싱 값 형식을 참조 형식으로 변환하는 것 ex) int → object 언박싱 참조 형식을 값 형식으로 변환하는 것 ex) object형 → 실제로 사용할 다른 타입으로 변환하는것 중요한 이유 boxing이 되면 참조 형식으로 변환되어 ..

[Donkey] 돈키 사용법 정리 및 돈키 가스비 꿀팁!
ETC./투자2021. 9. 20. 12:39[Donkey] 돈키 사용법 정리 및 돈키 가스비 꿀팁!

Donkey 잠자는 코인 돈이 되다, 돈키 www.donkey.fund 첫 한국형 DeFi 예치/대출 서비스 - 돈키 돈키는 암호화폐를 거래소에만 그냥 두지 않고. 돈키라는 은행에 예치하면 예금의 이자를 받고 다른 코인으로 대출도 가능한 서비스이다. 사용법 정리! 1. 메타마스크 계정 생성 2. 업비트 -> 메타마스크 (예치할 코인 전송) 3. 메타마스크 -> 돈키 (예치할 코인 전송) 돈키 docs.donkey.fund 이렇게 간단하지만.. 3번부터 모든 행동 하나하나가 이더리움기반이기에 Gas(가스)비가 든다. 가스비는 일종의 수수료라고 생각하면되고 이더리움으로 지불된다. 업비트에서 코인을 사고팔기만 했던 나는 이런것의 존재를 몰랏고 가스비를 내기위해 몇일을 고생한 결과 잘 예치했다... 그 다음은 ..

image