이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 23489|회답: 5

[출처] [실제 전투]. NET 6 무작위 검사는 난수 검정을 생성합니다

[링크 복사]
2022-3-31 16:20:26에 게시됨 | | | |
최근 마이크로소프트는 .NET 6 성능 향상에 관한 블로그 글을 올렸는데, 그 중 하나가 Random.Shared에 관한 흥미로운 내용들이었습니다.

이것은 읽기 전용 정적 속성이자 스레드 안전 객체로, 무작위 객체 사용을 단순화하는 데 도움을 줄 수 있습니다.

무작위. 공유됨어떤 스레드에서든 동시에 사용할 수 있는 스레드 안전 인스턴스 Random을 제공합니다。 참조:하이퍼링크 로그인이 보입니다.

우선, Random이 스레드 안전하지 않다는 점을 알아야 합니다. 그래서 멀티스레딩에서 Random을 사용하려면 보통스레드 안전도 고려해야 합니다。 스레드 안전하지 않기 때문에 사용할 때마다 하나씩 만들고 매번 새 코드를 만들 수 있지만, 이 경우 코드가 충분히 간결하지 않고, 반면에 더 많은 무작위 객체가 생성될 수 있으며, 성능 오버헤드도 있습니다.

BenchmarkDotNet과 비교하고 테스트해 보자면, 코드는 다음과 같습니다:
.NET/C#은 BenchmarkDotNet을 사용하여 코드 성능을 테스트합니다
https://www.itsvse.com/thread-9576-1-1.html
이전 메서드는 항상 새로운 Random 객체를 새로 만들어 난수를 생성하고, New 메서드는 .NET 6에서 제공된 최신 Random.Shared 메서드를 호출하는 방식입니다. 테스트 렌더링은 다음과 같습니다:



우리는 새로운 기능들의 평균 실행 시간을 살펴봅니다10배 부스트

(끝)






이전의:ASP.NET 코어(12개) 프론트엔드 JS, CSS 번들링, 압축
다음:ASP.NET Core(XIII)를 통해 Ajax 요청인지 여부를 판단할 수 있습니다
2022-4-2 09:15:51에 게시됨 |
다시 배울 시간입니다
2022-4-14 10:42:00에 게시됨 |
와서 배워, 매춘부야, 공유해줘서 고마워.
2022-6-20 17:01:32에 게시됨 |
지지하는! 공유해 주셔서 감사합니다
 집주인| 2023-11-25 21:01:04에 게시됨 |
GUID 메서드를 사용해 컬렉션에서 무작위로 하나를 선택하세요(데이터베이스 쿼리에는 사용하지 마세요, 그렇지 않으면 전체 테이블이 쿼리됩니다).

 집주인| 2025-4-6 09:33:00에 게시됨 |
바이트 배열에 암호화된 난수 값 시퀀스를 채웁니다. (여기서 System.Security.Cryptography.RNGCryptoServiceProvider는 더 이상 지원되지 않음)


또는
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com