A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© laizidiyu 黑马帝   /  2011-11-26 22:21  /  2160 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

单线程与多线程分别是在什么情况下使用?使用时有什么技巧?

4 个回复

倒序浏览
分情况吧,大运算量的时候要开个线程去单独处理。比如带界面的程序,界面有一个线程去单独处理,其他的操作需要新建线程去处理,不然程序正在运行某些操作时用户点击界面会没有反馈。  网络传输时服务器端一般都会使用多线程,主线程负责处理客户端的连接,根据客户端的请求去开启线程去处理。   
使用技巧。。。  没什么技巧,注意临界区操作。否则出现BUG都不知道是哪错的

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
单线程:就是指执行单个任务的时候使用,或者说只有一个任务。
多线程:当你同时执行多个操作,或执行多条语句的时候就会用到多线程,比如说卖票。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
单线程循环发送
一个任务中只有一个线程,几个账户(发送邮箱)排队循环发送,比如:用三个账户发送,过程如下

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

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

一次只分配给一封。
先申请先分配,这样会出现发送快的邮箱发送的多。
回复 使用道具 举报
单线程用来处理那些运行时间短,使用频率高的代码段
多线程用来处理比较耗时的代码段,比如大量下载视频时。就应该使用多线程。或者其他人不要等死
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马