1. Java中如果没有产生线程,则系统会自动生成一个线程(主线程,我们的程序都是在主线程上执行。main方法就是在主线程上执行的)
2. 进程:执行中的程序(程序是静态的,进程是动态的)
3 一个进程可以包含一个或多个线程。
4. 一个程序实现多个代码同时交替运行就需要产生多个线程
5. 多线程是多任务处理的一种特殊形式。
6. 多任务处理被所有操作系统所支持。多任务处理有两种类型:a.基于进程的 b.基于线程的。
a.进程(process)本质上是一个执行的程序。因此,基于进程的多任务处理的特点是允许计算机同时运行两个或者更多的程序。
b.基于线程(thread—based)的多任务处理环境中,线程是最小的执行单位。意味着,一个程序可以同时执行两个或多个任务的功能。
7. 多线程可以帮助编写出CPU最大利用率的高效程序,使得空闲时间保持最低。
8. Java通过run方法为线程指明要完成的任务
a.继承Thread 类并重写run 方法。
b.通过定义实现Runnable接口的类进而实现run方法
关于两者的区别:http://blog.csdn.net/ns_code/article/details/17161237两者区别
9. Java中线程的启动必须调用start(),否则,则与普通类无异
10. 对于单核CPU,某一时刻只能有一个线程 在执行(微观串行),从宏观角度来看,多个线程同时执行(宏观并行)
对于双核或双核以上,可以做到微观并行
11. 线程的消亡不能通过调用stop()方法,而是让run() 自然结束。