Java学习笔记----线程

继续学习-----------------------------------------------------------------------

在Java中线程指的是两件事

1)java.lang.Thread类的一个实例

2)线程的执行

一个Thread类实例只是一个对象,生死于堆上。main方法就是一个主线程


Java线程的创建与启动:

1)扩展java.lang.Thread类

2)实现java.lang.Runnable接口

实例化线程:

1)如果是扩展Thread的,直接用new就可以

2)如果是实现了Runnable接口的类,则使用Thread的构造方法

Thread(Runnable target) 
Thread(Runnable target, String name) 
Thread(ThreadGroup group, Runnable target) 
Thread(ThreadGroup group, Runnable target, String name) 
Thread(ThreadGroup group, Runnable target, String name, long stackSize)

启动线程:

调用start方法

启动新的执行线程

运行run方法


实例代码:

package com.ehealth.thread;

public class RunnableDemo implements Runnable{
	private String name;
	public RunnableDemo(String name){
		this.name=name;
	}
	@Override
	public void run() {
		for(int i=0;i<5;i++){
			for(int k=0;k<5;k++)
			System.out.println(name+":"+i);
		}
		
	}

}
package com.ehealth.thread;

public class TestThread extends Thread{
	public TestThread(String name){
		super(name);
	}
	public void run(){
		for(int i=0;i<5;i++){
			for(int k=0;k<5;k++){
				System.out.println(this.getName()+":"+i);
			}
		}
	}
	public static void main(String[] args) {
		Thread t1=new TestThread("johnw");
		Thread t2=new TestThread("wee");
		t1.start();
		t2.start();
	}

}

自己的理解:

如果是实现Runnable接口的,必须实现run方法。在启动线程的时候必须先new出自己,在new出Thread对象,还要把自己当做参数传递给Thread

如果是继承Thread类的,同样重写run方法,然后new出自己就可以start

run方法都包含了自己要实现的这个线程的执行逻辑。

感觉线程太多了。这里就先摘录跟总结基础吧。最后可以学习着把socket跟线程还有IO流结合起来

本文出自 “ehealth” 博客,谢绝转载!

你可能感兴趣的:(java)