用多线程又有几种常用的编程模型

文章作者 100test 发表时间 2007:09:06 13:17:29
来源 100Test.Com百考试题网


  这里可以大概给你介绍一下,但对于每一种编程模型要看具体的示例是什么,而且我不可能给你罗列所有的代码,请谅解。
 
  其实我们编程只要尽量站到比较高的层次,很多道理其实你会发现你已经懂了。
 
  就多线程来说,我们开始设想只有两个线程(>2时是不是算数学归纳法?)那么如果两个独立的线程会发生什么呢?
 
  1.当一个线程进入moniter(也就是说站用一个object),另一个线程只有等待或返回,而我们把返回就称为一种模式,这种模式的英文是Balking. 2.这两个线程可以是有序的执行,而不是让OS来调度,这时我们要用一个object来调度,这种模式称为Scheduler.(这个词及其含义其实OS中就有)。
 
  3.如果这两个线程同时读一个资源,我们可以让他们执行,但如果同时写的话,你闭着眼睛都会知道可能出现问题,这时我们就要用另一种模式(Read/Write Lock)。
 
  4.如果一个线程是为另一个线程服务的话,比如IE中负责数据传输的线程和界面显示的线程,当一个图片没有传完时,另一个线程就无法显示,至少是部分没有传完。那么这时我们要用一个模式称为生产者和消费者,英文是Producer-Consumer. 5.两个线程的消亡也可以不是完全又OS来控制的,这时我们需要给出一个条件,使得每个线程在符合条件是才消亡,也就是有序的消亡,我们称为Two-Phase Termination.那么有这5个线程模型,基本上可以用到大多数编程任务中。我需要指出的三点是:1.从高层次上我们可以再验证是否含盖了所有的情况。


相关文章


二级公共基础知识第一章数据结构与算法练习
计算机等级考试二级公共基础填空40题
2006年12月23日六级听力原文完全版
JAVA认证培训辅导:随机整数的生成
用多线程又有几种常用的编程模型
Oracle开始支持Ajax和Flash
ora-02069错误处理方法
OracleJOB的建立,定时执行任务
全新Linux桌面:KDE4.0α1发布
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛