私はthread1でこのようにコードを持っています
public void run() {
while (continueToProcess.get()) {
if (System.currentTimeMillis() > nextFlushTime) {
try {
String json = (ACTIVE.equals(activeTab)) ? bundleS2JsonStreams() : ((ACTIVE1.equals(activeTab)) ? bundleS4JsonStreams()
: bundleS1JsonStreams());
if (json != null) {
MemcachedInterface.set((ACTIVE.equals(activeTab)) ? memcacheS2Key : ((ACTIVE1.equals(activeTab)) ? memcacheS4Key : memcacheS1Key),json);
}
} catch (Throwable e) {
logger.error("Error flushing to memcached, cust: " + customerId, e);
}
lastBundleTime = System.currentTimeMillis();
nextFlushTime = lastBundleTime + flushInterval;
}
}
tempThread.setRun(false);
try {
tempThread.interrupt();
} catch (Exception e) {
}
}
1)memcacheS1Keyのようなキーでjsonデータを配置するためにここでMemcachedInterfaceが必要なのは何ですか?MemcachedInterfaceがここで使用される理由を意味しますか?
2)次に、2番目のスレッドtempThreadが最初のthread1 ...から呼び出され、そのrunメソッドがfalse...に設定されます。
tempThread.setRun(false);
acatullayは何をしますか?
3)そして私たちが呼ぶならtempThread.interrupt();
2番目のスレッドでは、このthread1が再度開始された場合にのみ、実行が停止され、再開されますか?