c# (3) 썸네일형 리스트형 Volatile / Lock Volatile CPU는 최적화를 위해 이미 캐싱한 볏누에 대해서는 메모리까지 다녀오지 않는다. 그러나 멀티 스레드에서는 위의 경우 문제를 발생시키게 된다. A 스레드의 캐시에 변수가 있는데, B 스레드가 변수의 값을 바꾼 경우 A스레드는 올바른 변수의 값을 알기 위해서는 반드시 메모리까지 다녀와야만 한다. 이렇게 '반드시 메모리에서 읽어올 것' 이라고 명시해주는 키워드가 바로 Volatile이다. Lock Lock으로 감싸여진 구간은 락을 획득해야 진입 가능하다(무조건 하나의 스레드만 들어갈 수 있다.) 즉, 스레드끼리 접근 순서가 지켜진다는 의미이다. 보통 자료구조나 알고리즘의 동작에 있어 여러 스레드의 접근을 허용하고 싶지 않은 경우 사용하며, 변수 하나의 값을 보호하기 위해서는 Lock 보다는 (.. ASP.Net Core에서 NSwag 사용하기 사용 이유 Swagger UI 및 Rest API 생성기를 사용하여 유연한 코드 생성 및 관리가 가능하다. 설치 컴파일러 환경 : Visual Studio 2019 NuGet 패키지 관리 대화 상자에서, "NSwag.AspNetCore 설치 서비스 등록 ASP.Net Core 앱에서 Swagger를 추가한다. Startup.ConfigureService 메서드에서 필수 Swagger서비스 등록 public void ConfigureServices(IServiceCollection services) { services.AddDbContext(opt => opt.UseInMemoryDatabase("TodoList")); services.AddMvc(); // Register the Swagger servi.. Dapper.Net - a simple object mapper for .Net Dapper? Dapper는 오픈 소스 Object Relational Mapper(ORM)로 성능과 편의성에 집중하여 다른 ORM에 비해 매우 빠르다. 또한, C# SqlConnector만으로 DB 프로그래밍을 하기에는 번거로움이 많아 Dapper.Net을 사용하여 간단하게 DB 프로그래밍을 할 수 있다. Dapper Install Dapper.Net은 Nuget을 통해 설치가 가능하다. Development Environment VisualStudio 2019 .Net Core 5.0 MS SQL How To Use SQL Connect 기존 C#에서 Database에 연결할 때 사용하는 System.Data.SqlClient 통해 Database에 연결한다. NuGet Packages Microso.. 이전 1 다음