0

私は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が再度開始された場合にのみ、実行が停止され、再開されますか?

4

0 に答える 0