public static Striped<Lock> lock(int stripes) {
    return custom(
        stripes,
        new Supplier<Lock>() {
          @Override
          public Lock get() {
            return new PaddedLock();
          }
        });
  }
public static Striped<Lock> lock(int stripes) {
    return custom(
        stripes,
        new Supplier<Lock>() {
          @Override
          public Lock get() {
            return new PaddedLock();
          }
        });
  }
public static Striped < Lock > lock ( int stripes ) { return custom ( stripes , new Supplier < Lock > ( ) { @ Override public Lock get ( ) { return new PaddedLock ( ) ; } } ) ; }
Creates a {@code Striped<Lock>} with eagerly initialized, strongly referenced locks. Every lock
is reentrant.

@param stripes the minimum number of stripes (locks) required
@return a new {@code Striped<Lock>}
Creates a { @code Striped<Lock > } with eagerly initialized strongly referenced locks . Every lock is reentrant .