当前位置:首页 » 行业资讯
开发技术指南» 文章正文
    引言: 二、同步 在多数情况下,线程之间难免要相互通信、相互协调才能完成任务。
 

 

 ·linux 管理员手册(4)--内存管理    »显示摘要«
    摘要:  本章说明linux的内存管理特征,即虚拟内存和磁盘缓存。描述系统管理员应该考虑的东西、工作和目的。 什么是虚拟内存?  linux支持虚拟内存, 就是使用磁盘作为ram的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。这对用户全透明:运行于linux的程序只看到大量的可用内存而不甘心哪部分在磁盘上。当然,读写硬盘比真的内存......
    摘要:  天极网7月13日消息 amd起诉英特尔案日益深化,amd指责英特尔编译器阻止amd处理器性能的发挥。  据amd的指控称:“英特尔设计的编译器旨在降低使用amd处理器的电脑性能。为了达到这个目的,英特尔设计的编译器编译几个不同的代码路径,当程序在英特尔处理器上支行时,有些代码执行命令;而程序在amd处理器上运行时,另外一些代码开始执行。在程序运行前,就可以选择代码路径,它通过一种叫cupid的......


WinCE 进程、线程和内存管理之同步
  二.同步

【程序编程相关:Macromedia推出web开发和服务

【推荐阅读:创新和服务:国产手机面临二次竞争

  在多数情况下,线程之间难免要相互通信.相互协调才能完成任务.比如,当有多个线程共同访问同一个资源时,就必须保证一个线程正读取这个资源数据的时候,其它线程不能够修改它.这就需要线程之间相互通信,了解对方的行为.再有当一个线程要准备执行下一个任务之前,它必须等待另一个线程终止才能运行,这也需要彼此相互通信. 实际开发过程中,线程间需要同步的情况非常多.windows ce.net给我们提供了很多的同步机制,熟练的掌握这些机制并合理运用会使线程之间的同步更合理.更高效.进程间的通信机制在下一篇文章中讲解. 【扩展信息:亚信公布2002年首季财报 继续受益软件

  windows ce.net具有两种运行模式:用户模式与内核模式.并且允许一个运行于用户模式的应用程序随时切换为内核模式,或切换回来.线程同步的有些解决办法运行在用户模式,有些运行在内核模式.«windows核心编程»上说从用户模式切换到内核模式再切换回来至少要1000个cpu周期.我查看过ce下api函数setkmode的源码,这个函数用于在两种模式间切换,改变模式只需修改一些标志,至于需要多少个cpu周期很难确定.但至少可以肯定来回切换是需要一定时间的.所以在选择同步机制上应该优先考虑运行在用户模式的同步解决办法.

  1.互锁函数

  互锁函数运行在用户模式.它能保证当一个线程访问一个变量时,其它线程无法访问此变量,以确保变量值的唯一性.这种访问方式被称为原子访问.互锁函数及其功能见如下列表:

 

  2.临界区

  临界区对象运行在用户模式.它能保证在临界区内所有被访问的资源不被其它线程访问,直到当前线程执行完临界区代码.除了api外,mfc也对临界区函数进行了封装.临界区相关函数:

  举例如下:

  mfc类使用更简单: ccriticalsection cs;

  使用临界区要注意的是避免死锁.
...   下一页
    摘要:  基本解释 本节主要探讨c编译器下面两方面的特点所引发的一系列常见的编程问题。 对c文件进行分别编译:c程序通常由几个小程序(.c文件)组成,编译器将这几个小程序分别编译,然后通过链接程序将它们组合在一起形成一个目标代码。由于编译器每次只能编译一个文件,因此它不能立即检查需要几个源文件配合才能发现的错误。 对函数的参数和返回值建立临时变量c编译器会对函数的参数建立临时参数,也可能会对函数的返回值......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE