JAVA中sleep,java中sleep函数怎么用
如何解决写爬虫IP受阻的问题?立即使用。
java中sleep的用法是:
Thread.sleep(long millis)和thread.sleep (longmillis,int Nanos)静态方法强制当前正在执行的线程休眠(暂停执行)以“降低线程速度”。
当一个线程休眠时,它会在某个地方休眠,直到被唤醒才会返回到可运行状态。
当睡眠时间到期时,它将返回到可运行状态。
1、线程睡眠的原因:线程执行过快,或者需要强制进入下一轮,因为Java规范没有保证合理的轮转。
2、睡眠的实现:调用静态方法。
尝试{
thread . sleep(1000);
} catch (InterruptedException e) {
e . printstacktrace();
}3、睡眠的位置:为了给其他线程执行的机会,可以把Thread.sleep()的调用放在thread run()内部。只有这样,线程才能在执行过程中休眠。
公共类TestSleep {
公共静态void main(String[] args) {
MyThread2 t1=新的myth read 2( test sleep );
t1 . start();
for(int I=0;i 10我)
System.out.println(“我是主线程”);
}
}
类MyThread2扩展线程{
MyThread2(字符串s) {
超级用户;
}
公共无效运行(){
for(int I=1;i=10i ) {
System.out.println(我是 getName());
尝试{
睡眠(1000);//暂停,每秒输出一次
}catch (InterruptedException e) {
返回;
}
}
}
}注意:
1.线程睡眠是帮助所有线程获得运行机会的最佳方式。
2.当线程休眠时,它会自动唤醒并返回到可运行状态,而不是运行状态。sleep()中指定的时间是线程不运行的最短时间。因此,sleep()方法不能保证线程在睡眠到期后开始执行。
3.sleep()是一个静态方法,只能控制当前运行的线程。
示例:计数器计数到100,在每个数字之间暂停1秒,每10个数字输出一个字符串。
公共类MyThread扩展线程{
公共无效运行(){
for(int I=0;i 100i ) {
if ((i) % 10==0) {
system . out . println(- I);
}
System.out.print(一);
尝试{
thread . sleep(1000);
system . out . print(‘线程休眠1秒!\ n’);
} catch (InterruptedException e) {
e . printstacktrace();
}
}
}
公共静态void main(String[] args) {
新的MyThread()。start();
}
}推荐教程:以上《java视频教程》是睡眠在java中用法的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。