Here you can find the source of sleep(long ms)
Parameter | Description |
---|---|
ms | the number of milliseconds to sleep for |
Parameter | Description |
---|---|
InterruptedException | if interrupted |
public static void sleep(long ms) throws InterruptedException
//package com.java2s; /*// w w w. ja va 2 s.c o m * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { /** * Sleep for a guaranteed number of milliseconds unless interrupted. * * This method exists because Thread.sleep(100) can sleep for 0, 70, 100 or 200ms or anything else * it deems appropriate. Read the docs on Thread.sleep for further details. * @ * @param ms the number of milliseconds to sleep for * @throws InterruptedException if interrupted */ public static void sleep(long ms) throws InterruptedException { long finishAt = System.currentTimeMillis() + ms; long remaining = ms; do { Thread.sleep(remaining); remaining = finishAt - System.currentTimeMillis(); } while (remaining > 0); } }