多线程是为了使得多个线程并行的工作以完成多项任务,提高系统共的效率,线程在同一时间需要完成多项任务的时候被实现的。
1.当一个线程占用一个object,另一个线程只有等待或者返回,这个返回称为一种模式(Balking);
2.两个线程可以是有序的执行,而不是让OS进来调度,这时可以用object来调度,这种模式称为Scheduler;
3.如果两个线程同时读一个资源,我们可以让它们执行,但如果同时写的话,这时可以用另外一种模式read/write lock;
4.如果一个线程是为另一个线程服务,那么这时我们用到的模式是Producer-Consumer
5.两个线程的消亡也可以不是完全由OS来控制的,这时我们需要给出一个条件,使得每个线程在符合条件下才是消亡(有序的消亡)称Two-Phase Termination.用户界面
优缺点:
1.使用线程可以把占据长时间的程序中的任务放到后台去处理。
2.程序的运行速度有可能加快。
3.如果有大量的线程,会影响性能。
4.更多的线程需要更多的内存空间。
5.线程的中止需要考虑其对程序运行的影响。
6.良好的用户交互界面 |