摘要:自从windows操作系统出现以后,在应用程序中进行人机交互的思想和手段便发生了根本性的改变,计算机的界面变得友好精彩。一个程序的好坏很大程度上决定于人机交互的方便程度。当前,大多数程序的标题栏都千篇一律,如何让自己的程序与众不同是每个程序员的梦想,但改变标题栏的内容的确有相当的难度。该篇文章向你介绍如何在标题栏上添加图标按钮,而且当鼠标经过和点击该图标时,鼠标将有不同的反应。请按照下面的步骤实现......
摘要:1.引言
随着计算机网络,智能家电,多通道用户界面的飞速发展,人脸与语音相结合的人性化的交互方式,将成为未来人们使用计算机的主要趋势。在基于网络的人-人交互系统中,用户的语音输入可以直接在网络上作为音频流传输,在播放的一端进行音素切分,驱动人脸动画。这样做的优点是直接播放原始声音,声音失真小,缺点是传输的数据量大、需要占用较大的网络带宽,当虚拟环境中用户数量较多时网络和服务器可能不堪重负。另一......
多线程技术在VC++串口通信程序中的应用1 概述
在现代的各种实时监控系统与通信系统中,在windows 9x/nt下利用vc++对rs-232串口编程是常用的手段.windows 9x/nt是抢先式的多任务操作系统,程序对cpu的占用时间由系统决定.多任务指的是系统可以同时运行多个进程,每个进程又可以同时执行多个线程.进程是应用程序的运行实例,拥有自己的地址空间.每个进程拥有一个主线程, 同时还可以建立其他的线程.线程是操作系统分配cpu时间的基本实体,每个线程占用的cpu时间由系统分配,系统不停的在线程之间切换.进程中的线程共享进程的虚拟地址空间,可以访问进程的资源,处于并行执行状态,这就是多线程的基本概念. 【程序编程相关:
实战静态拆分视图(一)
】
【推荐阅读:
获取WAV文件的相关信息
】
2 vc++对多线程的支持 【扩展信息:
1.1 游戏开发中的调度器基本知识
】
使用mfc开发是较普遍的vc++编程方法.在vc++6.0下,mfc应用程序的线程由cwinthread对象表示.vc++把线程分为两种:用户界面线程与工作者线程.用户界面线程能够提供界面与用户交互,通常用于处理用户输入并相应各种事件与消息;而工作者线程主要用来处理程序的后台任务.
程序一般不需要直接创建cwinthread对象,通过调用afxbeginthread()函数就会自动创建一个cwinthread对象,从而开始一个进程.创建上述的两种线程都利用这个函数.
线程的终止取决于下列事件之一:线程函数返回;线程调用exitthread()退出;异常情况下用线程的句柄调用terminatethread()退出;线程所属的进程被终止.
3 多线程在串口通信中的应用
3.1 串口通信对线程同步的要求
因为同一进程的所有线程共享进程的虚拟地址空间,而在windows 9x/nt系统下线程是汇编级中断,所以有可能多个线程同时访问同一个对象.这些对象可能是全局变量,mfc的对象,mfc的api等.串口通信的几个特点决定了必须采用措施来同步线程的执行.
串口通信中,对于每个串口对象,只有一个缓冲区,发送与接收都要用到,必须建立起同步机制,使得在一个时候只能进行一种操作,否则通信就会出错.
进行串口通信处理的不同线程之间需要协调运行.如果一个线程必须等待另一个线程结束才能运行,则应该挂起该线程以减少对cpu资源的占用,通过另一进程完成后发出的信号(线程间通信)来激活....
下一页 摘要:杜建蔚
在开发软件时,由于在不同的操作系统中实现技术上的区别,可能某一软件的功能仅局限于单一的操作系统环境,例如windows98或是windowsnt,为此,我们需要在用户使用软件时给予相应提示。
我们需要编写一段小程序用于在软件启动时来判断当前软件所运行的环境到底是哪个操作系统,并当用户在错误的环境中运行软件时给予报警。本文将详细介绍实现的方法及过
程。
osversi......