만약 호출하는 함수가 아래이고
        mEventLoader.loadEventsInBackground(mNumDays, events, millis, new Runnable() {
            public void run() {
                if(mParentActivity.isFinishing()) {
                    return;
                }
               
                mEvents = events;
                calEventDay();
                mRedrawScreen = true;
                invalidate();
               
                boolean isPortrait = getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
                if(isPortrait)
                    mParentActivity.reloadCurrentDayEvents();               
            }
        }, mCancelCallback);
    }

호출되어 지는 함수가 아래라면..
void loadEventsInBackground(final int numDays, final ArrayList<Event> events,
            long start, final Runnable successCallback, final Runnable cancelCallback) {
.....
}

함수 run()이 자동적으로 돌아가는 함수 인가요? 아님 .start()을 만나야만 저 run()이 돌아가는건가요?
만약 run()이 동작하지 않는다면 loadEventsInBackground()에 마지막에서 두번째 인자는 무엇이 넘어가는건가요?
그리고 Runnable은 인터페이스인데 객체를 만들 수 있는건가요??

저 함수가 이해가 안되네요..