首页  >   经验  >   编程中线程的通俗深入理解

编程中线程的通俗深入理解

查看 codexia 的博客 2015-06-23 16:13:01 1297
线程  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介本文用通俗的话语,站在编程的角度来简单深入分析了线程的编程思想,对于线程的编程有非常大的指导意义。这篇文章不会告诉你具体的线程编程方法,但是,不了解这些思想,无法把线程写活。本文主要是编程思想级别,生动基础,掌握好这些思想,线程的编程就突然简单了很多倍。不过对于多线程最难的同步问题,这里不讨论,先要将这些基础掌握,才有能力步入更深层次。想做多线程的朋友,此文必看,看了可以极大提高学习的效率。
    在使用线程前,我们必须了解线程相关的基础知识。线程与进程不一样,线程依托于进程,是一个执行个体。而进程则有更多的资源,比如变量,缓冲等。线程不会独立于进程而存在的。每个进程可以创建很多线程,并且至少要有一个线程,否则操作系统则认为无线程的进程是多余的,没有意义的,所以会清除进程。而第一个线程就是这个进程的主线程。而我们经常写的控制台程序,是单线程程序,这个线程就是主线程。
    在编程中来看,每一个过程或者动作,基本以函数的形式来包装。就好像每一个对象成员函数都完成一个功能一样。线程也是完成特定功能的,所以也是以函数的形式包装起来。只不过,这个函数有一个单独的线程来执行,而一般的成员函数是由主线程来执行,所以,在主线程中执行循环等待,那么主线程其他的动作都得等循环执行完才能执行,因为是同一个线程,必须按顺序。如果是大量的循环,基本就卡住了。所以,创建的新线程就可以将这个循环里的操作接手过去,在后台执行,前台让主线程来执行,那么此时,一般就不会出现卡住的情况。
    而线程对应的函数称为线程函数,可以粗略理解为对象成员函数那样的一个函数而已,没有那么恐怖。因为很多不熟悉的同学,包括我以前,听到回调函数,线程函数等等,心里都发虚,什么回调,什么参数等等,因为不熟悉,就不能简化,从而感觉云里雾里。所以,先放松神经,看完自然也懂了,不过看完一定要练习一下,不然提到这个以后可能时间长了还是会发虚的。
    线程函数和普通函数一样,要返回值,要参数,要函数名。但是线程函数还是与普通的函数有一些特别之处,下面就稍作讲解。
    既然是线程函数,也就是与线程相关。也就是,这个函数只给这类线程执行的,而不会给主线程执行。简单比喻一下,线程相当于一个职员,线程函数相当于一个任务,主线程是领导。主线程要线程去执行这个任务,那线程就一直做这个任务直到完成,如果没有其他任务,那线程就死亡了。第二次,有一个新线程创建了,主线程又叫它去执行这个任务,它
1.微信扫码
2.点击按钮,粘贴命令
自动刷新 手动刷新
命令:rd 13H/) 复制
提示:如果您发送了命令,自动刷新会展开全文。自动刷新最多60秒,超过60秒请点击手动刷新。
创作不易,汗水不止!为防止劳动果实被爬虫窃取,开启了反爬机制,需要您发送命令继续阅读。取关会再次出现此提示。一段时间后出现此提示,请再次发送即可。如有问题,请加客服微信Freeme007处理。感谢您的理解。
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
文章标题:编程中线程的通俗深入理解
文章地址:http://www.cjjjs.com/article/623201511316945
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:编程中线程的通俗深入理解
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

  1. 日志技术的问题总结和完整改进方案(单线程、多线程、子线程、定时器、队列的运用) 查找全网同类文章
  2. mysql指定条件批量杀死线程的方法 查找全网同类文章
  3. 项目开发中使用并发模型常见问题的整理与思考 查找全网同类文章
  4. 在2.21中遇到的线程问题 查找全网同类文章
  5. 线程, 进程两大常谈的话题:同步, 通信 查找全网同类文章
  6. 使用多线程避免窗口卡死(假死)的实现方案 查找全网同类文章
  7. 请教socket和多线程的经验 查找全网同类文章
  8. [Win32] 奇怪的线程句柄操作机制 查找全网同类文章
  9. [C++] 在编写服务器代码时,应该选择时钟还是线程来做心跳包处理 查找全网同类文章
  10. 在主线程里判断子线程问题. 查找全网同类文章
分享到:
分享文章[编程中线程的通俗深入理解]到QQ空间

相关阅读

猜您感兴趣