add initial support ofr multi-threaded execution

Review URL: https://codereview.chromium.org/27541003

git-svn-id: http://skia.googlecode.com/svn/trunk@11823 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/skpdiff/skpdiff_main.cpp b/tools/skpdiff/skpdiff_main.cpp
index f89cc37..55640f7 100644
--- a/tools/skpdiff/skpdiff_main.cpp
+++ b/tools/skpdiff/skpdiff_main.cpp
@@ -40,6 +40,7 @@
 DEFINE_string2(output, o, "", "Writes the output of these diffs to output: <output>");
 DEFINE_bool(jsonp, true, "Output JSON with padding");
 DEFINE_string(csv, "", "Writes the output of these diffs to a csv file");
+DEFINE_int32(threads, -1, "run N threads in parallel [default is derived from CPUs available]");
 
 #if SK_SUPPORT_OPENCL
 /// A callback for any OpenCL errors
@@ -188,6 +189,10 @@
     SkDiffContext ctx;
     ctx.setDiffers(chosenDiffers);
 
+    if (FLAGS_threads >= 0) {
+        ctx.setThreadCount(FLAGS_threads);
+    }
+
     // Perform a folder diff if one is requested
     if (!FLAGS_folders.isEmpty()) {
         ctx.diffDirectories(FLAGS_folders[0], FLAGS_folders[1]);