1.练习题
package bdqn.t206.java7;
public class MyThread extends Thread {
@Override//重写run方法
public void run() {
for(int i=1;i<=20;i++){
System.out.println(i+".你好,来自线程"+Thread.currentThread().getName());
}
}
}
package bdqn.t206.java7;
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
//多线程不是“并行”,随机交替运行
MyThread thread1=new MyThread();
MyThread thread2=new MyThread();
thread1.start();
thread2.start();
}
}
2.package bdqn.t206.java7;
public class SecondThread implements Runnable{
@Override
public void run() {
for(int i=1;i<=20;i++){
System.out.println(i+".你好,来自线程"+Thread.currentThread().getName());
}
}
}
package bdqn.t206.java7;
public class Text2 {
public static void main(String[] args) {
SecondThread r=new SecondThread();
Thread t1=new Thread(r);
Thread t2=new Thread(r);
t1.start();
t2.start();
}
}
3.package bdqn.t206.java7;
public class ClimbThread extends Thread {
private int time;
public int num=0;
public ClimbThread(String name,int time,int kilometer){
super(name);
this.time=time;
this.num=kilometer*1000/100;
}
public void run(){
while(num>0){
try {
Thread.sleep(this.time);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"爬完100米!");
num--;
}
System.out.println(Thread.currentThread().getName()+"到达终点!");
}
}
package bdqn.t206.java7;
public class Text3 {
public static void main(String[] args) {
ClimbThread young=new ClimbThread("年轻人",500,1);
ClimbThread old=new ClimbThread("老年人",1500,1);
System.out.println("***********开始爬山**************");
young.start();
old.start();
}
}
4.package bdqn.t206.java7;
public class Text4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Priority p=new Priority();
Thread t=new Thread();
t.start();
System.out.println("**********显示默认优先级**********");
System.out.println("主线程名:"+Thread.currentThread().getName()+",优先级:"+Thread.currentThread().getPriority());
System.out.println("子线程名:"+t.getName()+",优先级:"+t.getPriority());
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
t.setPriority(Thread.MIN_PRIORITY);
System.out.println("**********修改默认优先级后**********");
System.out.println("主线程名:"+Thread.currentThread().getName()+",优先级:"+Thread.currentThread().getPriority());
System.out.println("子线程名:"+t.getName()+",优先级:"+t.getPriority());
}
}
5.package bdqn.t206.java7;
public class Vip extends Thread {
public void run(){
for(int i=0;i<10;i++){
System.out.println("特需号:"+(i+1)+"号病人在看病!");
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package bdqn.t206.java7;
public class Text5 {
public static void main(String[] args) {
int j;
Vip vip=new Vip();
Thread t1=new Thread(vip);
t1.setPriority(Thread.MAX_PRIORITY);
t1.start();
for(j=0;j<20;j++){
System.out.println("普通号:"+(j+1)+"号病人在看病!");
if(j==9){
try {
t1.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}