关于线程Thread的学习

package test;
/*
 * 关于线程Thread的理解:
 * 线程(thread)就是进程中的一个执行线索。Java虚拟机允许进程中同时执行多个线程。
 * 每个线程都有一个优先级。具有较高优先级的线程先执行。
 * 线程是操作系统分配 CPU 时间的基本实体。
 * 每一个应用程序至少有一个线程,也可以拥有多个线程。
 * 线程是程序中的代码流。
 * 多个线程可以同时运行并能共享资源。
 * 线程与进程不同,每个进程都需要操作系统为其分配独立的地址空间,而同一进程中的各个线程是在同一块地址空间中工作。
 * 在 Java 程序中,一些动态效果(如动画的实现、动态的字幕等)常利用多线程技术来实现。
 */

/*
 * 关于线程类中的方法:
 * (1) start()方法:启动一个线程。
 * (2) run()方法:定义该线程的动作。
 * (3) sleep()方法:使线程睡眠一段时间,单位为ms。
 * (4) suspend()方法:使线程挂起。
 * (5) resume()方法:恢复挂起的线程。
 * (6) yield()方法:把线程移到队列的尾部。
 * (7) stop()方法:结束线程生命周期并执行清理工作。
 * (8) destroy()方法:结束线程生命周期但不做清理工作。
 * 其中最常用的是方法start()、run()、sleep()、stop()。
 */
public class Test extends Thread{
	//定义构造方法
	public Test (String str){
		super(str);//超类中的str字符串,赋值给构造函数
	}
	
	//定义线程的动作
	public void run(){
		for(int i=0;i<7;i++){
			System.out.print("  "+this.getName());
			//这里的this表示当前的这个Thread类,getName()方法返回的是当前的Thread类的名字
			/*
			try{
				sleep(5000);
			}catch(InterruptedException e){
				System.out.println(e.getMessage());
				return;
				//一般return有两种作用,其一是返回参数所用的关键字,其二是表示代码执行到此处终止
				//当代码执行到某个地方时会出现几种结果,在这几种结果中,当出现不能执行后续代码的
				//结果时,需要加一个return,终止后面的代码执行。
				//这里的return表示当代码段发生突发错误,被catch语句捕捉到以后,终止代码执行
			}
			*/
		}
		System.out.println("  /end");
	}	
}


首先要定义一个线程类,可以写单个线程的动作,然后再定义一个主程序类,让代码从主程序开始执行。



public class testDemo extends Thread{
	//这里可以不写成线程Thread的扩展类,可以直接写成public class testDemo类
	//而使用了扩展类的原因是为了在下面是用Thread类中的sleep方法

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Test t1=new Test("呵");
		Test t2=new Test("哈");
		Test t3=new Test("嘿");
		//这里定义了多个线程类,多个线程可以同时执行,相互之间并没有影响,
		t1.start();
		t2.start();
		
		try{sleep(100);}
		catch(Exception e){e.toString();}
		//这里增加一个sleep方法,让代码段执行到线程t2的时候,暂停100毫秒,暂时不执行线程t3
		t3.start();	
	}
}



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值