摘要:
JAVA不允许一个类继承自多个类,为了解决这个问题,JAVA提供了java.lang.Runnable接口,它有一个run()方法: 1 package runimpl; 2 public class Machine implements Runnable{ 3 private int a=0; 4 public void run(){ 5 for(a=0;a<50;a++){ 6 System.out.println(Thread.currentThread().getName()+":"+a); 7 try{ 8 Thread.sle... 阅读全文
摘要:
JAVA后台线程的特点是只有所有的前台线程结束运行,后台线程才能结束,后台线程可用setDaemon()进行设置: 1 package withdaemon; 2 3 public class Machine extends Thread { 4 private int a; 5 private static int count; 6 7 public void start() { 8 super.start(); 9 Thread deamon=new Thread() {10 public void run... 阅读全文
摘要:
JAVA中当前运行的线程可以调用另一个线程的join()方法,使当前的线程转到阻塞状态,等待另一个线程运行完毕再继续运行,它才运行: 1 package join; 2 public class Machine extends Thread{ 3 public void run(){ 4 for(int a=0;a<50;a++) 5 System.out.println(getName()+":"+a); 6 } 7 public static void main(String args[])throws Exception{ 8 Machine ma... 阅读全文
摘要:
可以用setPriority来设置线程的优先级,getPriority取得线程的优先级: 1 package priority; 2 3 import sharevar.Machine; 4 5 public class priority extends Thread { 6 private static StringBuffer log=new StringBuffer(); 7 private static int count=0; 8 9 public void run() {10 for (int a=0;a<20;a++) {11... 阅读全文
摘要:
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(In... 阅读全文
摘要:
JAVA的线程让步yield的使用方法: 1 package suspend; 2 public class Machine extends Thread{ 3 private int a; //共享数据 4 5 public void run(){ 6 for(int i=0;i<1000;i++){ 7 synchronized(this){ 8 a+=i; 9 yield(); //给其他线程运行的机会10 a-=i;11 }12 }13 }14 15 public synchroniz... 阅读全文
摘要:
JAVA中共享变量实例: 1 package sharevar; 2 public class Machine extends Thread{ 3 private int a=0; //实例变量 4 public void run(){ 5 for(a=0;a<50;a++){ //使用Machine对象的实例变量a 6 System.out.println(currentThread().getName()+":"+a); 7 try{ 8 sleep(100); 9 }catch(InterruptedExcepti... 阅读全文
摘要:
二叉排序树(Binary Sort Tree)又称二叉查找树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;在Java中构造二叉排序树实例如下:// tree.java// demonstrates binary tree// to run this program: C>java TreeAppimport java.io.*;import java.util.*; // for Stack ... 阅读全文