Java多线程文档+简单的实例

Thread 方法(菜鸟教程)

下表列出了Thread类的一些重要方法:

序号方法描述
1public void start()
使该线程开始执行;Java 虚拟机调用该线程的 run 方法。
2public void run()
如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。
3public final void setName(String name)
改变线程名称,使之与参数 name 相同。
4public final void setPriority(int priority)
 更改线程的优先级。
5public final void setDaemon(boolean on)
将该线程标记为守护线程或用户线程。
6public final void join(long millisec)
等待该线程终止的时间最长为 millis 毫秒。
7public void interrupt()
中断线程。
8public final boolean isAlive()
测试线程是否处于活动状态。

测试线程是否处于活动状态。 上述方法是被Thread对象调用的。下面的方法是Thread类的静态方法。

序号方法描述
1public static void yield()
暂停当前正在执行的线程对象,并执行其他线程。
2public static void sleep(long millisec)
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
3public static boolean holdsLock(Object x)
当且仅当当前线程在指定的对象上保持监视器锁时,才返回 true。
4public static Thread currentThread()
返回对当前正在执行的线程对象的引用。
5public static void dumpStack()
将当前线程的堆栈跟踪打印至标准错误流。

一、多线程-继承

package com.etc._01CreateThreadDemo;


class BoilWater extends Thread{//烧水类
	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("正在烧水....");
		try {
			Thread.sleep(10000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("烧水结束....");
	}
}


class WashCup extends Thread{//洗杯子类
	@Override
	public void run() {
		// TODO Auto-generated method stub
		for(int i = 0;i<5;i++){
			System.out.println("洗杯子第"+(i+1)+"个");
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}



public class ExtendsDemo01 {
	
	//主线程
	public static void main(String[] args) {
		BoilWater bw = new BoilWater();
		bw.start();
		WashCup wc = new WashCup();
		wc.start();
		
		//一定要调用start方法
		
	}

}


二、接口实现

package 线程;

class toShow implements Runnable {

	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("开始");
		try {
			Thread.sleep(8000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("结束");
	}
	
}

class toWord implements Runnable {

	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("一秒");
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("六秒");
		try {
			Thread.sleep(6000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
}




public class Jiekou {

	/**
	 * @param args
	 */
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		toShow to1 = new toShow();
		Thread name1 = new Thread(to1);
		name1.start();
		
		toWord to2 = new toWord();
		Thread name2 = new Thread(to2);
		name2.start();
		

	}

}

三、多线程(匿名内部类)

package com.etc._01CreateThreadDemo;
/**
 * 匿名内部类实现多线程
 * 
 * 一般是这个类只使用一次
 * @author Administrator
 *
 */

public class InnerClassThreadDemo {
	
	public static void main(String[] args) throws InterruptedException {
		for(int i = 0;i<500;i++){
			System.out.println("打游戏"+i);
			Thread.sleep(500);
			
			if(i == 2){
				//创建新的线程  启动线程
//				new Thread(new Runnable() {
//					
//					@Override
//					public void run() {
//						// TODO Auto-generated method stub
//						for(int j = 0;j<500;j++){
//							System.out.println("听音乐"+j);
//							try {
//								Thread.sleep(500);
//							} catch (InterruptedException e) {
//								// TODO Auto-generated catch block
//								e.printStackTrace();
//							}
//						}
//						
//					}
//				}).start();
				
				
				new Thread(){
					
					@Override
					public void run() {
						// TODO Auto-generated method stub
						//super.run();
						for(int j = 0;j<500;j++){
							System.out.println("听音乐"+j);
							try {
								Thread.sleep(500);
							} catch (InterruptedException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
						}
					}
					
				}.start();
				
			}
		}
	}

}

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值