當前位置: 首頁>>代碼示例>>Java>>正文


Java NuAbstractProcessHandler類代碼示例

本文整理匯總了Java中com.zaxxer.nuprocess.NuAbstractProcessHandler的典型用法代碼示例。如果您正苦於以下問題:Java NuAbstractProcessHandler類的具體用法?Java NuAbstractProcessHandler怎麽用?Java NuAbstractProcessHandler使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


NuAbstractProcessHandler類屬於com.zaxxer.nuprocess包,在下文中一共展示了NuAbstractProcessHandler類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: cat

import com.zaxxer.nuprocess.NuAbstractProcessHandler; //導入依賴的package包/類
@Benchmark
public void cat() throws Exception {
    NuProcessBuilder builder = new NuProcessBuilder("cat", TEST_FILE);
    builder.setProcessListener(new NuAbstractProcessHandler() {

        private final CRC32 crc32 = new CRC32();

        @Override
        public void onExit(int statusCode) {
            long crc = crc32.getValue();
            if (crc != TEST_CRC32) {
                System.err.println("Incorrect CRC32 checksum (" + crc + "); file corruption?");
            }
        }

        @Override
        public void onStdout(ByteBuffer buffer, boolean closed) {
            // the contents of the file are run through CRC32 just to "do" something with them
            // note that update(ByteBuffer) requires Java 8. it's been selected because it doesn't
            // inflate the measured allocation rate by allocating buffers internally
            crc32.update(buffer);
        }
    });

    NuProcess process = builder.start();

    int exitCode = process.waitFor(5L, TimeUnit.MINUTES);
    if (exitCode == Integer.MIN_VALUE) {
        process.destroy(false);

        throw new AssertionError(process + " took longer than 5 minutes to complete");
    }
    if (exitCode != 0) {
        throw new AssertionError(process + " failed (Exit code: " + exitCode + ")");
    }
}
 
開發者ID:brettwooldridge,項目名稱:NuProcess,代碼行數:37,代碼來源:NuProcessBenchmark.java


注:本文中的com.zaxxer.nuprocess.NuAbstractProcessHandler類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。