1.进程和线程
⇒进程(process):an instance of a running program that is isolated from other process on the same machine . In particular, it has its own private section of the machine’s memory
私有空间,彼此隔离
⇒线程(thread):a locus of control inside a running program 程序内部的控制机制
⇒进程(process): process abstraction is a virtual machine.⇒拥有整台计算机的资源
多进程之间不共享内存
进程之间通过消息进行协作
一般来讲,进程=程序=应用,但用户认为的一个应用可能包含多个进程
OS支持的IPC机制(cpipe/socket)支持进程间通信,支持不仅是本机的多个线程,也可以是不同机器的多个进程之间
JVM通常为一个进程,但Java应用程序可以创建新的进程
⇒线程(thread):进程=虚拟机;线程=虚拟CPU
通过创建消息队列在线程之间进行消息传递
共享内存
每个应用至少有一个线程(主线程),可以创建其他的线程
2.线程的创建和启动,runnable
⇒线程的创建
1)(较少使用)从Thread类派生子类
1)(较常使用)从Runnable接口构造Thread对象
⇒从Thread类派生子类:从Thread类派生一个子类,并Override他的run方法
启动线程的时候,使用Thread.start()方法
⇒从Runnable接口构造Thread对象:实现public void run()方法
一个Runnable Object被传进了Thread的构造函数