黑马程序员技术交流社区
标题:
谁能帮我解释一下多线程的 sleep 的用途?
[打印本页]
作者:
e644638045
时间:
2014-6-28 16:55
标题:
谁能帮我解释一下多线程的 sleep 的用途?
我真的有点搞不明白这个sleep的具体用途,你们能给我一个好的例子看看吗?
作者:
001可望成功
时间:
2014-6-28 17:15
就是这个线程有点累了,让她先休息一会
作者:
e644638045
时间:
2014-6-28 17:40
001可望成功 发表于 2014-6-28 17:15
就是这个线程有点累了,让她先休息一会
你们就加油回答下好吗?我拿个技术分不容易啊
作者:
诺诺
时间:
2014-6-28 17:54
sleep举个例子,让这个程序睡几毫秒后然后再激活,感觉和用360抢票软件一样,做个循环,刷完这次先睡几秒,然后再刷。不然服务器直接让你刷爆了
作者:
001可望成功
时间:
2014-6-28 18:06
e644638045 发表于 2014-6-28 17:40
你们就加油回答下好吗?我拿个技术分不容易啊
不用太担心,技术分还是好挣的,好好回答,好好提问就行
作者:
cat73
时间:
2014-6-28 20:26
sleep命令可以让线程暂时放弃执行权,在一定时间内不执行该线程.直至被其他线程唤醒或者到时间
作者:
为爱编程
时间:
2014-6-28 21:40
sleep命令可以让线程暂时放弃执行权,在一定时间内不执行该线程.直至被其他线程唤醒或者到时间 +1
作者:
天,殇心
时间:
2014-6-28 21:49
本帖最后由 天,殇心 于 2014-6-28 21:52 编辑
/*
思路:
1.创建一个对象实现Runnable接口
2.重写run()方法
3.创建类的实例
4.把类的实例作为Thread的构造参数传递,创建Thread对象
*/
public class RunnableDemo {
public static void main(String[] args) {
//创建类的实例
RunnableTest rt=new RunnableTest();
//把类的实例作为Thread的构造参数传递,创建Thread对象
Thread t1=new Thread(rt);
Thread t2=new Thread(rt);
Thread t3=new Thread(rt);
Thread t4=new Thread(rt);
//添加窗口名
t1.setName("窗口一");
t2.setName("窗口二");
t3.setName("窗口三");
t4.setName("窗口四");
//启动线程
t1.start();
t2.start();
t3.start();
t4.start();
}
}
作者:
天,殇心
时间:
2014-6-28 21:52
public class RunnableTest implements Runnable {
// 定义票数
private int i = 100;
private Object obj = new Object();
// 重写run方法
@Override
public void run() {
//线程不安全,会出现相同的或者负数
//要加同步synchronized
synchronized (obj) {
while (true) {
if (i > 0) {
try {
//在指定的毫秒数内让当前正在执行的线程休眠
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + "\t"
+ "在卖" + (i--) + "张票");
}
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2