|
Dreamine.Threading.Wpf 1.0.1
이 패키지는 Worker Thread를 직접 생성하거나 제어하지 않습니다. `IDreamineThreadManager`의 상태만 관찰합니다.
|


Public 멤버 함수 | |
| DreamineThreadMonitorViewModel (IDreamineThreadManager threadManager, IThreadUiDispatcher dispatcher) | |
| DreamineThreadMonitorViewModel (IDreamineThreadManager threadManager, IThreadUiDispatcher dispatcher, TimeSpan refreshInterval) | |
| void | Refresh () |
| void | Dispose () |
정적 Public 속성 | |
| static readonly TimeSpan | DefaultRefreshInterval = TimeSpan.FromMilliseconds(500) |
속성 | |
| ObservableCollection< ThreadInfoRow > | Threads = new() [get] |
| ICommand | StartCommand [get] |
| ICommand | StopCommand [get] |
| ICommand | PauseCommand [get] |
| ICommand | ResumeCommand [get] |
| ICommand | RefreshCommand [get] |
| ICommand | StartAllCommand [get] |
| ICommand | StopAllCommand [get] |
| ICommand | PauseAllCommand [get] |
| ICommand | ResumeAllCommand [get] |
| ThreadInfoRow? | SelectedThread [get, set] |
| string??? | SelectedDetailText [get] |
이벤트 | |
| PropertyChangedEventHandler? | PropertyChanged |
Private 멤버 함수 | |
| void | OnTimerTick (object? state) |
| void | ApplySnapshotsOnUiThread (IReadOnlyList< IReadOnlyList< DreamineThreadInfo > > batch) |
| bool | HasSelectedThread () |
| void | StartSelectedThread () |
| async Task | StopSelectedThread () |
| void | PauseSelectedThread () |
| void | ResumeSelectedThread () |
| void | StartAllThreads () |
| async Task | StopAllThreads () |
| void | PauseAllThreads () |
| void | ResumeAllThreads () |
| void | RaiseCommandStates () |
| void | OnPropertyChanged ([CallerMemberName] string? propertyName=null) |
Private 속성 | |
| readonly IDreamineThreadManager | _threadManager |
| readonly IThreadUiDispatcher | _dispatcher |
| readonly Timer | _refreshTimer |
| readonly BatchedDispatcher< IReadOnlyList< DreamineThreadInfo > > | _uiBatch |
| readonly Dictionary< string, ThreadInfoRow > | _rowsByName = new(StringComparer.Ordinal) |
| ThreadInfoRow? | _selectedThread |
| int | _disposed |
| readonly RelayCommand | _startCommand |
| readonly AsyncRelayCommand | _stopCommand |
| readonly RelayCommand | _pauseCommand |
| readonly RelayCommand | _resumeCommand |
| readonly RelayCommand | _refreshCommand |
| readonly RelayCommand | _startAllCommand |
| readonly AsyncRelayCommand | _stopAllCommand |
| readonly RelayCommand | _pauseAllCommand |
| readonly RelayCommand | _resumeAllCommand |
Dreamine 스레드 모니터 뷰의 ViewModel을 제공합니다.
스레드 관리자를 주기적으로 폴링하고 기존 행 갱신·신규 행 추가·삭제 행 제거 방식으로 Threads에 차이를 적용합니다. 전체 컬렉션 교체로 인한 깜박임과 선택 손실을 피하고, BatchedDispatcher<T>로 UI 갱신을 병합합니다.
DreamineThreadMonitorViewModel.cs 파일의 34 번째 라인에서 정의되었습니다.
|
inline |
기본 새로 고침 간격으로 T:Dreamine.Threading.Wpf.ViewModels.DreamineThreadMonitorViewModel 클래스의 새 인스턴스를 초기화합니다.
| threadManager | 스냅샷과 제어 작업을 제공할 스레드 관리자입니다. |
| dispatcher | 일괄 갱신을 실행할 UI Dispatcher입니다. |
| ArgumentNullException | 인수 중 하나가 null일 때 발생합니다. |
DreamineThreadMonitorViewModel.cs 파일의 393 번째 라인에서 정의되었습니다.
다음을 참조함 : DefaultRefreshInterval.
|
inline |
지정한 새로 고침 간격으로 T:Dreamine.Threading.Wpf.ViewModels.DreamineThreadMonitorViewModel 클래스의 새 인스턴스를 초기화합니다.
| threadManager | 스냅샷과 제어 작업을 제공할 스레드 관리자입니다. |
| dispatcher | 일괄 갱신을 실행할 UI Dispatcher입니다. |
| refreshInterval | 양수 폴링 간격이며 0 이하는 기본값으로 보정됩니다. |
| ArgumentNullException | threadManager 또는 dispatcher 가 null일 때 발생합니다. |
DreamineThreadMonitorViewModel.cs 파일의 440 번째 라인에서 정의되었습니다.
다음을 참조함 : _dispatcher, _pauseAllCommand, _pauseCommand, _refreshCommand, _refreshTimer, _resumeAllCommand, _resumeCommand, _startAllCommand, _startCommand, _stopAllCommand, _stopCommand, _threadManager, _uiBatch, ApplySnapshotsOnUiThread(), DefaultRefreshInterval, Dreamine.Threading.Wpf.Services.IThreadUiDispatcher.Dispatcher, HasSelectedThread(), OnTimerTick(), PauseAllThreads(), PauseSelectedThread(), Refresh(), ResumeAllThreads(), ResumeSelectedThread(), StartAllThreads(), StartSelectedThread(), StopAllThreads(), StopSelectedThread().

|
inlineprivate |
일괄 처리된 스냅샷 중 최신 항목을 UI 행 컬렉션에 차이 병합합니다.
| batch | 오래된 것부터 최신 순서로 병합된 스레드 정보 스냅샷 목록입니다. |
UI 스레드에서 호출되어야 하며 기존 행을 유지하고 추가·갱신·삭제만 적용합니다.
DreamineThreadMonitorViewModel.cs 파일의 573 번째 라인에서 정의되었습니다.
다음을 참조함 : _disposed, _rowsByName, _selectedThread, OnPropertyChanged(), RaiseCommandStates(), SelectedDetailText, SelectedThread, Threads.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inline |
폴링 타이머를 정리하고 진행 중 콜백 종료를 최대 1초 동안 기다립니다.
타이머 정리 및 대기 오류는 UI 종료를 방해하지 않도록 억제합니다.
DreamineThreadMonitorViewModel.cs 파일의 658 번째 라인에서 정의되었습니다.
다음을 참조함 : _disposed, _refreshTimer.
|
inlineprivate |
현재 선택된 스레드 행이 있는지 확인합니다.
true입니다.DreamineThreadMonitorViewModel.cs 파일의 699 번째 라인에서 정의되었습니다.
다음을 참조함 : SelectedThread.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().

|
inlineprivate |
지정한 속성 이름으로 PropertyChanged 이벤트를 발생시킵니다.
| propertyName | 변경된 속성 이름입니다. |
DreamineThreadMonitorViewModel.cs 파일의 873 번째 라인에서 정의되었습니다.
다음을 참조함 : PropertyChanged.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread().

|
inlineprivate |
스레드 풀 타이머에서 관리자 스냅샷을 가져와 UI 큐에 넣습니다.
| state | 타이머 상태 값이며 사용하지 않습니다. |
폴링 오류는 UI 프로세스가 종료되지 않도록 억제합니다.
DreamineThreadMonitorViewModel.cs 파일의 529 번째 라인에서 정의되었습니다.
다음을 참조함 : _disposed, _threadManager, _uiBatch.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().

|
inlineprivate |
모든 스레드를 일시 정지하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 821 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh().
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inlineprivate |
선택된 스레드를 일시 정지하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 751 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh(), SelectedThread.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inlineprivate |
선택 스레드 제어 명령의 실행 가능 상태 변경을 알립니다.
DreamineThreadMonitorViewModel.cs 파일의 849 번째 라인에서 정의되었습니다.
다음을 참조함 : _pauseCommand, _resumeCommand, _startCommand, _stopCommand.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread().

|
inline |
관리자에서 즉시 스냅샷을 가져와 UI 일괄 갱신 큐에 넣습니다.
ViewModel이 정리된 후에는 아무 작업도 하지 않습니다.
DreamineThreadMonitorViewModel.cs 파일의 494 번째 라인에서 정의되었습니다.
다음을 참조함 : _disposed, _threadManager, _uiBatch.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), PauseAllThreads(), PauseSelectedThread(), ResumeAllThreads(), ResumeSelectedThread(), StartAllThreads(), StartSelectedThread(), StopAllThreads(), StopSelectedThread().

|
inlineprivate |
모든 스레드를 재개하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 835 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh().
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inlineprivate |
선택된 스레드를 재개하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 768 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh(), SelectedThread.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inlineprivate |
모든 스레드를 시작하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 785 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh().
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inlineprivate |
선택된 스레드를 시작하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 709 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh(), SelectedThread.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inlineprivate |
모든 스레드를 비동기 중지하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 807 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh().
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
inlineprivate |
선택된 스레드를 비동기 중지하고 모니터 데이터를 새로 고칩니다.
DreamineThreadMonitorViewModel.cs 파일의 734 번째 라인에서 정의되었습니다.
다음을 참조함 : _threadManager, Refresh(), SelectedThread.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().


|
private |
dispatcher 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 63 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().
|
private |
disposed 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 109 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread(), Dispose(), OnTimerTick(), Refresh().
|
private |
pause All Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 182 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().
|
private |
pause Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 137 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), RaiseCommandStates().
|
private |
refresh Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 155 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().
|
private |
refresh Timer 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 72 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Dispose(), DreamineThreadMonitorViewModel().
|
private |
resume All Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 191 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().
|
private |
resume Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 146 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), RaiseCommandStates().
|
private |
rows By Name 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 90 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread().
|
private |
selected Thread 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 100 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread().
|
private |
start All Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 164 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().
|
private |
start Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 119 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), RaiseCommandStates().
|
private |
stop All Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 173 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel().
|
private |
stop Command 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 128 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), RaiseCommandStates().
|
private |
thread Manager 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 54 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), OnTimerTick(), PauseAllThreads(), PauseSelectedThread(), Refresh(), ResumeAllThreads(), ResumeSelectedThread(), StartAllThreads(), StartSelectedThread(), StopAllThreads(), StopSelectedThread().
|
private |
ui Batch 값을 보관합니다.
DreamineThreadMonitorViewModel.cs 파일의 81 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), OnTimerTick(), Refresh().
|
static |
폴링 타이머의 기본 새로 고침 간격입니다.
DreamineThreadMonitorViewModel.cs 파일의 44 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DreamineThreadMonitorViewModel(), DreamineThreadMonitorViewModel().
|
get |
모든 스레드 일시 정지 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 291 번째 라인에서 정의되었습니다.
|
get |
선택 스레드 일시 정지 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 241 번째 라인에서 정의되었습니다.
|
get |
즉시 새로 고침 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 261 번째 라인에서 정의되었습니다.
|
get |
모든 스레드 재개 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 301 번째 라인에서 정의되었습니다.
|
get |
선택 스레드 재개 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 251 번째 라인에서 정의되었습니다.
|
get |
선택 스레드의 상태·코어·통계·오류를 여러 줄 텍스트로 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 336 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread().
|
getset |
선택된 스레드 행을 가져오거나 설정하고 상세 텍스트와 명령 상태를 갱신합니다.
DreamineThreadMonitorViewModel.cs 파일의 311 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread(), HasSelectedThread(), PauseSelectedThread(), ResumeSelectedThread(), StartSelectedThread(), StopSelectedThread().
|
get |
모든 스레드 시작 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 271 번째 라인에서 정의되었습니다.
|
get |
선택 스레드 시작 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 221 번째 라인에서 정의되었습니다.
|
get |
모든 스레드 중지 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 281 번째 라인에서 정의되었습니다.
|
get |
선택 스레드 중지 명령을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 231 번째 라인에서 정의되었습니다.
|
get |
안정적인 행 인스턴스로 유지되는 스레드 정보 컬렉션을 가져옵니다.
DreamineThreadMonitorViewModel.cs 파일의 211 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplySnapshotsOnUiThread().
| PropertyChangedEventHandler? Dreamine.Threading.Wpf.ViewModels.DreamineThreadMonitorViewModel.PropertyChanged |
ViewModel 속성 값이 변경될 때 발생합니다.
DreamineThreadMonitorViewModel.cs 파일의 201 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : OnPropertyChanged().