0
我正在嘗試爲我的用戶編寫一個庫,並希望它儘可能易於使用。現在,要使用它,你必須開始一個新的線程,並在你的主類中設置很多變量來跟蹤,但是我的用戶並不總是有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