一个基本概念就是同时对多个任务加以控制。
将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。
在一个程序中,这些独立运行的片断叫做 ”线程“ (Thread),利用它编程的概念就叫做”多线程处理“。常见的例子就是用户界面。
每个线程都可分配给不同的处理器,真正进入”并行运算“状态。
多线程操作最有价值的特性之一就是不必关心到底使用了多少个处理器。
程序在逻辑意义上被分割为数个线程;
机器本身安装了多个处理器,那么程序会运行得更快,无需作出任何特殊得调校。
共享资源是最重要得一个问题,如果多个线程同时运行,且试图访问相同得资源。问题:
两个进程不能将信息同时发送给一台打印机。
对那些可共享得资源来说,在使用期间必须进入锁定状态。所以一个线程可将资源锁定,
在完成了它得任务后,再释放所,使其他线程可以接着使用同样得资源。
Java多线程机制已内建到语言中,对多线程处理得支持是在对象这一级支持得,所以一个执行线程可表达为一个对象。
Java提供了有限得资源锁定方案。能锁定任何对象占用得内存(内存实际是多种共享资源得一种),所以同一时间
只能有一个线程使用特定得内存空间。需要使用 synchronized 关键字。
其他类型得资源必须由程序员明确锁定,通常要求程序员创建一个对象,用它代表一把锁,所有线程再访问那个资源时
都必须检查这把锁。