多线程概述:
进程和线程是现代操作系统中的两个必不可少的运行模式。在操作系统中可以有多个进程,包括系统进程(由操作系统内部建立的进程)和用户进程(由用户建立的进程);一个进程中可以有多个线程。
进程可以简单的理解为正在进行中的程序,当我们打开任务管理器就能够看到进程。
线程是程序最小的执行单位,多线程程序意味着一个程序具有可以同时执行两个或者多个任务的功能。
线程是进程中的内容,一个进程最少有一个线程。
Java语言的线程机制建立在宿主操作系统的线程基础上,它将宿主操作系统提供的线程机制包装为语言一级的机制提供给程序员使用。一方面为程序员提供了简单一致、独立于平台的多线程编程接口;另一方面为程序员屏蔽了宿主操作系统的线程技术细节,使得Java程序员不必关心如何将java语言的线程机制映射到宿主操作系统的线程库,这一任务完全交由Java虚拟机完成。
在JVM内部,程序的多任务通过线程来实现。用Java命令运行一个Java应用程序时,就会启动一个JVM进程。在JVM环境中,用户线程以线程的形式来运行。
多线程存在的意义:
采用多线程编程技术的程序可以充分发挥出多核CPU的“指令级并行执行”优势,从而达到“线程级并发运行”的效果
啥意思呢,我认为就是CPU在多个线程之间进行快速的切换,运行这个线程一会,再运行那个线程一会,使得电脑上的两个应用程序看起来是在“同时”运行的,但其实不是,只是因为CPU的切换速度太快了,才使得我们“看起来”是同时运行的。
原文地址:http://blog.csdn.net/u013476556/article/details/41832721