2010-07-10 4 views
2

저는 VB.NET을 처음 접했고 탭 인터페이스가있는 텍스트 편집기로 작업하고 있습니다. 큰 텍스트 파일을 다루므로이 문제를 해결하는 가장 좋은 방법이 무엇인지 궁금합니다.여러 개의 큰 텍스트 파일을로드하는 텍스트 편집기 - 다중 스레드

각 탭/텍스트 문서를 새 스레드 또는 프로세스에서 열어야합니까? 기본적으로 텍스트 편집기가 텍스트 편집기의 한 부분이기 때문에 전체 응용 프로그램을 항상 빠르게 실행하고 싶습니다. 여러 개의 커다란 텍스트 파일을 열어 둔다면 응용 프로그램의 나머지 부분이 조금 느려지 길 바라지 않습니다.

누군가가이 문제를 해결하고 관련 예제가있는 URL로 나를 안내 할 수 있다면 도움이됩니다.

답변

2

각 탭/텍스트 문서를 새 스레드 또는 프로세스에서 열어야합니까?

아니요. 확실히 새로운 프로세스가 아닙니다. Win32가 모든 것을 다시 모으게되면 당신 자신이 싫어하게 될 것입니다.

새 스레드가 아닙니다. Winforms UI는 발송 스레드에서 실행됩니다. 다른 스레드에서 UI를 터치하려고하면 프로그램이 폭발하게됩니다.

나는 간단하고, 진실하고, 지루한 배경 종사자 접근법을 사용하는 것이 좋습니다. 스레드와 함께 사용하거나 비동기 입출력을 사용할 수 있습니다 (.NET에서는 스레딩을 처리합니다). 사용 사례에 따라 일부 파일 만 게으 르기를 원할 경우 또는 임의 액세스 개의 파일 (예 : 한 번에 파일의 아주 작은 부분 만 읽음)을 사용할 수 있습니다. 어떤 경우에도 "데이터"는 상기 데이터의 시각화와 분리되어야합니다.

(검색 용어에 강조 표시)

+0

정보를 주셔서 감사합니다. – Joe

1

1 개 또는 10 개의 탭이 열려 있더라도 한 번에 1 개의 파일 만 입력/편집 할 수 있으며 다른 탭은 정의한 데이터 구조에서 메모리를 차지하므로 어떻게 될지 확실하지 않습니다. 성능에 영향을 미칠 수 있습니다.

많은 양의 문자열 조작을 수행하는 경우 훨씬 빠르고 효율적으로 stringbuilder 클래스를 사용하십시오.