반응형
일반스레드를 만들어서 run() 함수를 실행한다. 실행함수 중간에 main 화면을 제어하는
함수가 있다면 다음과 같은 에러가 날것이다.
Exception in thread "Thread-0" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Widget.error(Unknown Source)
at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
at org.eclipse.swt.widgets.Text.append(Unknown Source)
메인은 thread 로 돌아가기때문에 중간에 다른일을 시킬수 없다. 그런 프로세스의 실행순서를
등록해서 등록된 thread 를 차례대로 실행시킬 필요가 있는것이다.
메인에서 표현하고자 하는 스레드 관련 일들을 등록하는 함수가 있는데 아래와 같이 표현해주면 된다
Display.getDefault().syncExec(
new Runnable () {
public void run() {
// 원하는 코드 수행
MainWindow.scanAllDone( control );
}
}
);
반응형
'자바(JAVA)' 카테고리의 다른 글
super 사용법 (0) | 2008.11.08 |
---|---|
KST 표준시간를 원하는 시간포맷으로 바꾸기 (2) | 2008.10.20 |
새창으로 데이타 submit 해서 넘기기 (0) | 2008.10.11 |
Process 관리하기 (0) | 2008.10.04 |
JTextArea 예제 (0) | 2008.09.24 |
JList 예제 (0) | 2008.09.23 |
구분자로 문자열을 분리하여 얻고자할때 StringTokenizer 사용법 (0) | 2008.09.10 |
문자, 숫자 변환관련 총집합 (0) | 2008.09.10 |