黑马程序员技术交流社区

标题: 单线程与多线程 [打印本页]

作者: laizidiyu    时间: 2011-11-26 22:21
标题: 单线程与多线程
单线程与多线程分别是在什么情况下使用?使用时有什么技巧?
作者: 刘一扬    时间: 2011-11-27 00:03
分情况吧,大运算量的时候要开个线程去单独处理。比如带界面的程序,界面有一个线程去单独处理,其他的操作需要新建线程去处理,不然程序正在运行某些操作时用户点击界面会没有反馈。  网络传输时服务器端一般都会使用多线程,主线程负责处理客户端的连接,根据客户端的请求去开启线程去处理。   
使用技巧。。。  没什么技巧,注意临界区操作。否则出现BUG都不知道是哪错的
作者: 王德云    时间: 2011-11-27 00:10
单线程:就是指执行单个任务的时候使用,或者说只有一个任务。
多线程:当你同时执行多个操作,或执行多条语句的时候就会用到多线程,比如说卖票。
作者: wanghongye    时间: 2011-11-27 14:51
单线程循环发送
一个任务中只有一个线程,几个账户(发送邮箱)排队循环发送,比如:用三个账户发送,过程如下

第1个账户 发送 第1封信
第2个账户 发送 第2封信
第3个账户 发送 第3封信
第1个账户 发送 第4封信
第2个账户 发送 第5封信
第3个账户 发送 第6封信
……
多线程发送
一个任务中使用多个线程发送,一个账户(发送邮箱)一个线程,每个线程独立工作,直到所有的邮件发送完成。

多线程发送时有一个邮件分配器,邮件分配器来分配那个线程(账户)来发送那封邮件,保证一封邮件只被一个账户发送出去,分配的原则如下

一次只分配给一封。
先申请先分配,这样会出现发送快的邮箱发送的多。
作者: 颜小飞    时间: 2011-11-27 15:40
单线程用来处理那些运行时间短,使用频率高的代码段
多线程用来处理比较耗时的代码段,比如大量下载视频时。就应该使用多线程。或者其他人不要等死




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2