要用sleep的目的:
-
为了暂停当前线程,减缓当前线程的执行。
-
如果有调用其他接口进行操作,可避免被误认为是恶意攻击。
方法的定义: public static void sleep(long millis); 注意需要做异常处理
public static native void sleep(long millis) throws InterruptedException;
通过定义可以知道sleep方法是本地方法,通过系统调用暂停当前的线程,设置暂停时间,时间结束系统继续调用该线程。
代码示例:
public class TestSleep {
public static void main(String[] args) {
List<String> resultList = new ArrayList<>();
resultList.add("张三");
resultList.add("李四");
resultList.add("王五");
int count = 0;
for (String name : resultList) {
System.out.println(name);
count++;
try {
if (count % 2 == 0) {
// 时间单位为ms
Thread.sleep(10000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
但打印完,“张三”、“李四”后,程序会休息10s,再继续进行打印“王五”的操作。