最近打算花几天时间来梳理下关于多线程编程的知识点,由于时间有限,所以今天先写一小部分的内容。计划从现在起,每次的技术分享、与工作心得都会写在这里进行记录。不是为了宣传自己,而是在以后的某个时间点,能回头看看,自己曾经走过哪些路;遇到过哪些问题,又是如何解决的?能从中获得什么启发。还是那句话:虽然每一步都走的很慢,但是我不曾退缩过。
by 2017.12.13
第一章:基本的概念
1. 一般来说,进程(process)是正在计算机中执行的程序。Windows操作系统是多任务操作系统,它以进程为单位。而线程(thread)是进程中某个单一顺序的控制流。线程是进程的细化,它是进程中的实体。一个程序至少有一个进程,一个进程至少有一个线程。
2. 进程在执行过程中拥有独立的内存单元。而对于线程来说,多个线程共享内存。
3.区别:相对于多进程程序来说,多线程程序的管理花费更小。在资源调度方面,进程是系统进行资源分配和调度的一个最小单位。线程是进程的进一步细化,是cpu调度和分派的最小单位。线程是比进行更小的能独立运行的基本单位。
第二章:简单的实现
1. java中提供了2种方式来实现线程。继承Thread类和实现runnable接口。下面来看一看具体的区别。
(1)单进程的实例:
输出结果:
(2) Thread类存放于java.lang类库里,run()方法是定义在Thread类里的一个方法。因此,将线程的程序代码编写在run()方法内,事实上就是覆盖的操作。
输出结果:
网友评论