tasks/compassMultiple.js
function(options, cb) {

      // if no sassDir or files are not identify, error.
      if (!options.sassDir) {
        grunt.log.error('compass-multiple needs sassDir for searching scss files.');
        cb(false);
      }

      // search scss files.(Additional Implementation)
      if (options.sassFiles) {

        var pathes = options.sassFiles;
        var pathesCount = pathes.length;
        var currentCount = 0;
        var files = [];
        for (var i = 0; i < pathes.length; i++) {
          glob(pathes[i], function(error, tmpFiles) {
            if (error) {
              console.log('error: ', error);
              cb(false);
            }

            files = files.concat(tmpFiles);
            currentCount++;
            if (pathesCount === currentCount) {
              // compass compile.
              grunt.log.writeln('pathes: ', files);
              compileFiles(options, files, cb);
            }
          });
        }




      } else {  // use sassDir


        var searchPath = options.sassDir + '/**/*.scss';
        glob(searchPath, function(error, files) {
          if (error) {
            console.log('error: ', error);
            cb(false);
          }

          // compass compile.
          compileFiles(options, files, cb);
        });




      }
    }
function(options, cb) {

      // if no sassDir or files are not identify, error.
      if (!options.sassDir) {
        grunt.log.error('compass-multiple needs sassDir for searching scss files.');
        cb(false);
      }

      // search scss files.(Additional Implementation)
      if (options.sassFiles) {

        var pathes = options.sassFiles;
        var pathesCount = pathes.length;
        var currentCount = 0;
        var files = [];
        for (var i = 0; i < pathes.length; i++) {
          glob(pathes[i], function(error, tmpFiles) {
            if (error) {
              console.log('error: ', error);
              cb(false);
            }

            files = files.concat(tmpFiles);
            currentCount++;
            if (pathesCount === currentCount) {
              // compass compile.
              grunt.log.writeln('pathes: ', files);
              compileFiles(options, files, cb);
            }
          });
        }




      } else {  // use sassDir


        var searchPath = options.sassDir + '/**/*.scss';
        glob(searchPath, function(error, files) {
          if (error) {
            console.log('error: ', error);
            cb(false);
          }

          // compass compile.
          compileFiles(options, files, cb);
        });




      }
    }
compass task works at multi threads.