JAVA的sleep

简介: JAVA的sleep方法让出CPU,给其他线程运行机会: 1 package synsleep; 2 public class Machine implements Runnable { 3 private int a=1; //共享数据 4 public void r...

JAVA的sleep方法让出CPU,给其他线程运行机会:

 1 package synsleep;
 2 public class Machine implements Runnable {
 3   private int a=1;  //共享数据
 4   public void run() {
 5     for(int i=0;i<1000;i++){
 6       synchronized(this){
 7         a+=i;
 8         try{
 9           Thread.sleep(500); //给其他线程运行的机会
10         }catch(InterruptedException e){throw new RuntimeException(e);}
11         a-=i;
12         System.out.println(Thread.currentThread().getName()+":"+a);
13       }
14     }
15   }
16 
17   public void go(){
18     for(int i=0;i<1000;i++){
19         System.out.println(Thread.currentThread().getName()+":"+i);
20         Thread.yield();
21      }
22   }
23   public static void main(String args[]) throws InterruptedException{
24     Machine machine=new Machine();
25     Thread t1=new Thread(machine);
26     Thread t2=new Thread(machine);
27     t1.start();
28     t2.start();
29     machine.go();
30   }
31 }

 

相关文章
|
JavaScript 前端开发 Java
javascript实现像java、c#之类的sleep暂停的函数功能
javascript实现像java、c#之类的sleep暂停的函数功能
66 0
|
3月前
|
存储 安全 Java
一天十道Java面试题----第二天(HashMap和hashTable的区别--------》sleep、wait、join)
这篇文章是关于Java面试的第二天笔记,涵盖了HashMap与HashTable的区别、ConcurrentHashMap的实现原理、IOC容器的实现方法、字节码的概念和作用、Java类加载器的类型、双亲委派模型、Java异常体系、GC如何判断对象可回收、线程的生命周期及状态,以及sleep、wait、join、yield的区别等十道面试题。
一天十道Java面试题----第二天(HashMap和hashTable的区别--------》sleep、wait、join)
|
3月前
|
Java 调度
java 中sleep 注意点
java 中sleep 注意点
|
3月前
|
Java
Java 中 sleep 和 wait 之间的区别?
【8月更文挑战第21天】
212 0
|
6月前
|
Java 调度
Java中sleep()和wait()方法的区别
【2月更文挑战第10天】
162 1
Java中sleep()和wait()方法的区别
|
6月前
|
Java Unix 程序员
【Java】Sleep和Wait的区别
【Java】Sleep和Wait的区别
69 0
java 线程快速入门(三) sleep方法的使用
java 线程快速入门(三) sleep方法的使用
154 0
|
Java
在 java 中 wait 和 sleep 方法的不同?
在 java 中 wait 和 sleep 方法的不同?
67 0
Java 最常见的面试题:sleep() 和 wait() 有什么区别?
Java 最常见的面试题:sleep() 和 wait() 有什么区别?
Zp
|
Java
java使用sleep()方法让当前线程睡眠的两种方式
java使用sleep()方法让当前线程睡眠的两种方式
Zp
1442 0