{精品资源}多线程的那点儿事.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
{精品资源}多线程的那点儿事

多线程的那点儿事(之大结局)? 多线程一直是我比较喜欢的话题,当然也是很多朋友比较害怕的话题。喜欢它,因为它确实可以提高pc的使用效率;讨厌它,因为如果对它处理不好,反而会导致更大的麻烦。这里断断续续写了这么多,没有什么新意,主要是想结合自己这么多年的个人经历谈一谈自己的想法而已。真心希望这些文章能够达到抛砖引玉的效果,更多的达人可以奉献出自己的经验和方法。谢谢?(01)多线程的哪些儿事(优先级反转) ? ? (02)多线程的哪些儿事(多核编程) ? ? (03)多线程的哪些儿事(多线程数据结构) ? ? (04)多线程的哪些儿事(无锁链表) ? ? (05)多线程的哪些儿事(顺序锁) ? ? (06)多线程的哪些儿事(无锁队列) ? ? (07)多线程的哪些儿事(多线程调试) ? ? (08)多线程的哪些儿事(避免死锁) ? ? (09)多线程的哪些儿事(生产者-消费者) ? ? (10)多线程的哪些儿事(嵌套锁) ? ? (11)多线程的哪些儿事(读写锁) ? ? (12)多线程的哪些儿事(原子锁) ? ? (13)多线程的哪些儿事(C++锁) ? ? (14)多线程的哪些儿事(windows锁) ? ? (15)多线程的哪些儿事(自旋锁) ? ? (16)多线程的哪些儿事(数据互斥) ? ? (17)多线程的哪些儿事(数据同步) ? ? (18)多线程的哪些儿事(死锁) ? ? (19)多线程的哪些儿事(基础篇) 多线程的哪些儿事(基础篇)。多线程编程是现代软件技术中很重要的一个环节。要弄懂多线程,这就要牵涉到多进程?当然,要了解到多进程,就要涉及到操作系统。不过大家也不要紧张,听我慢慢道来。这其中的环节其实并不复杂。 ?? ?(1)单CPU ?? ? 在没有出现多核CPU ?? ?1)按照优先级调度 ?? ?2)按照FIFO ?? ?3)按照时间片调度等等 ?? ?当然,除了CPUsocket等。既然前面说到系统中的资源是有限的,那么获取这些资源的最小单元体是什么呢,其实就是进程。 ?? ?举个例子来说,在linuxtask_struct,实际上和我们说的进程是一样的。我们可以看看task_struct(linux?0.11代码)都包括哪些内容, [cpp]?view plaincopy struct?task_struct?{?? /*?these?are?hardcoded?-?dont?touch?*/?? ????long?state;?/*?-1?unrunnable,?0?runnable,?0?stopped?*/?? ????long?counter;?? ????long?priority;?? ????long?signal;?? ????struct?sigaction?sigaction[32];?? ????long?blocked;???/*?bitmap?of?masked?signals?*/?? /*?various?fields?*/?? ????int?exit_code;?? ????unsigned?long?start_code,end_code,end_data,brk,start_stack;?? ????long?pid,father,pgrp,session,leader;?? ????unsigned?short?uid,euid,suid;?? ????unsigned?short?gid,egid,sgid;?? ????long?alarm;?? ????long?utime,stime,cutime,cstime,start_time;?? ????unsigned?short?used_math;?? /*?file?system?info?*/?? ????int?tty;????????/*?-1?if?no?tty,?so?it?must?be?signed?*/?? ????unsigned?short?umask;?? ????struct?m_inode?*?pwd;?? ????struct?m_inode?*?root;?? ????struct?m_inode?*?executable;?? ????unsigned?long?close_on_exec;?? ????struct?file?*?filp[NR_OPEN];?? /*?ldt?for?this?task?0?-?zero?1?-?cs?2?-?dsss?*/?? ????struct?desc_struct?ldt[3];?? /*?tss?for?this?task?*/?? ????struct?tss_struct?tss;?? };?? ?? ?每一个task都有

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档