사용자를 위해 라이브러리를 작성하려고 시도하고 있으며 가능한 한 사용하기 쉽도록하고 싶습니다. 지금 당장은, 그것을 사용하기 위해 새로운 스레드를 시작하고 메인 클래스에서 추적 할 많은 변수를 설정해야하지만, 사용자는 항상 Java로 경험할 수있는 것은 아니며 일부 사용자의 경우 스레딩이 너무 어려울 수 있습니다 .메인 클래스에서 새 스레드를 시작하는 Java 클래스
그래서 전체 스레드를 내 클래스로 옮기고 사용자가 함수를 호출하여 스레드를 시작하도록하고 싶습니다. 여기
내가 현재 메인 클래스에서 실행 해요 스레드입니다 :int valueToAdd = 0;
DreamStatsTracker tracker = new DreamStatsTracker();
StartSessionResponse response = tracker.StartSession("ae-13s-90-11", "Abe");
System.out.println(response.getMessage());
System.out.println("Adding skill Herblore");
String message = tracker.AddSkill(response.getSessionId(), Skill.HERBLORE, "Abe");
Thread thread = new Thread(() -> {
while(true) {
tracker.SetValueForSkill(response.getSessionId(), Skill.HERBLORE, valueToAdd);
}
});
내가 메인 클래스에서이 같은 DreamStatsTracker
클래스로 그 모든 일을 이동하고 뭔가를하고 싶습니다
DreamStatsTracker tracker = new DreamStatsTracker();
tracker.AddSkill(Skill1, ValueForSkill1);
tracker.AddSkill(Skill2, ValueForSkill2);
tracker.Start();
이렇게하면 DreamStatsTracker
의 새 인스턴스가 시작되어 새 스레드가 시작되고 기본 클래스가 실행되는 동안 추가 된 스킬의 값이 백그라운드에서 계속 추적됩니다.
어떻게 접근합니까? 가능합니까?
그래서 .. 당신이에'새 Thread' 초기화를 이동 싶어 DreamStatsTracker 메서드는'Start()'라고 부릅니까? –
그 라인을 따라 뭔가 예. 추가 된 각 스킬에 대해 다음 코드를 실행하는 Start 메서드의 foreach 루프가 포함됩니다. tracker.AddSkill (response.getSessionId(), SkillName, "Username")); 스레드의 해당 스킬로 보낸 데이터를 지속적으로 추적합니다. – Jannik
그래서 문제가 무엇입니까? 그냥 스레드 생성을 이동하고'tracker.start()'메소드로 시작하면됩니다. – Nikem