java多线程编程基础讲解

讲解java多线程的问题之前,我们需要了解两个概念:

1.进程:可以先简单理解为,就是我们开发的完成某种部分功能的程序代码在CPU中跑起来之后的样子。所以进程应该是操作系统分配的内存空间+1个或多个线程组成的。

2.线程:可以理解为组成进程的一些代码流,这些代码流跑起来就叫线程。线程不能单独存在,它必须依托线程。

举个例子:

public class ArrayListTest {
	public static void main(String[] args) {
		ArrayList<String> s = new ArrayList<String>();
		s.add("first");
		s.add("second");
		s.add(1, "third");
		for(String k : s){
			System.out.println(k);
		}
	}
}
上面代码跑起来就叫一个进程,功能是打印出一个ArrayList集合内容。显然,这个进程只有一个线程。
现在想同时让这个进程打印好几种内容,每种内容由一个线程去完成。

我这里是用实现Runable接口的方式实现多线程编程的。

//创建一个Thread1线程类
public class Thread1 implements Runnable {
<span style="white-space:pre">	</span>@Override
<span style="white-space:pre">	</span>public void run() {
<span style="white-space:pre">		</span>for(int i=0;i<5;i++){
<span style="white-space:pre">			</span>System.out.println("Thread1: 线程Thread1执行的内容!"+i);
<span style="white-space:pre">		</span>}<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>}
}
//创建一个Thread2线程类
public class Thread2 implements Runnable{
<span style="white-space:pre">	</span>@Override
<span style="white-space:pre">	</span>public void run() {
<span style="white-space:pre">		</span>for(int i=0;i<5;i++){
<span style="white-space:pre">			</span>System.out.println("Thread2: 线程Thread2执行的内容!"+i);
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>}
}
然后在主类中执行定义的两个线程,让这两个线程同时执行,完成各自的功能任务。

public class RunThread {
	public static void main(String[] args) {
		//定义线程要执行的目标对象
		Thread1 th1 = new Thread1();
		Thread2 th2 = new Thread2();
		
		//创建线程,设置线程执行对象和线程名称
		Thread ta = new Thread(th1,"A");
		Thread tb = new Thread(th2,"B");
		
		//执行线程
		ta.start();
		tb.start();
	}
}
运行主类之后,我们可以看到,两个线程ta,tb都得到了执行,而且每次打印顺序都不一样,因为两个线程再主进程中是并发执行的。






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值