首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 140 毫秒
1.
一、COM的线程模型 Windows是个多线程的操作系统。多线程编程可以带来高性能、实时响应、并发操作等好处,但同时,多线程使得编写正确而健壮的代码变得困难起来。Win32程序员必须在涉及多线程时锁定和同步任何易受不一致性和误用影响的共享资源。COM为了权衡组件的并发性能与多线程编程的同步问题,提出了线程模型(Tbreading model)的概念。在COM中,进程中存  相似文献   

2.
封面书摘     
《程序员》2005,(8):14-14
关于多线程应用程序,每个开发者都需要知道的十年前,只有那些最猛的系统程序员才会在面临开发多线程程序时担心其复杂性。大多数程序员为了避免那些问题,坚持写单线程顺序执行的程序。然而现在,带有多 CPU 的机器已经很常见,很快,不会开发多线程应用程序的程序员会面临不利局面,因为他们将无法充分利用强大的设备计算能力。不幸的是,编写正确的多线程应用程序是不容易的。程序员们通常难以理解为什么其他的线程会先于当前线程访问内存。更坏的是,当出现一个错误时,程序大多数时候还能继续运行。除非资源紧迫,否则错误很难被发现,并且错误信息也很少,不便于调试。其间总结了单线程和多线程程序的主要区别,如你所见,让多线程程序一次性运行正确需要花大力气。  相似文献   

3.
简要介绍了Java的多线程调度机制和POSIX线程同步机制,并通过对kaffe虚拟机同步机制和加锁机制的深入分析,研究了Java虚拟机内部的同步和加锁机制及其实现。提出一种Java虚拟机锁方案:逻辑锁和物理锁的"双层锁"结构,并在此基础上,提出了利用底层硬件指令来提高加锁速度的"快速锁"加锁方案。最后在数字电视嵌入式平台上进行了虚拟机多线程性能的相关测试。  相似文献   

4.
对多线程的支持是WIN95和WINNT的一项新技术。线程是一个不同于进程的概念。所谓的多线程使用共享的同一地址空间,能够比进程更好、更方便地在不同的线程之间进行转换控制,交换信息。因此它能使程序员更加自由、方便地编写多任务程序。 使用多线程技术编写的程序如果运行在多处理器的电脑上,则能大大提高效率,即使是在单处理器的机器上运行,在某些方面也能提高程序的性能,比如多媒体程序中协调动画、声音和文字的同时展现;文件服务器上的管理程序;同时管理多个响应通讯的  相似文献   

5.
多线程程序设计对于多数Windows用户和程序员来说,是一个新的技术,因此在Windows95以前的Windows并不支持线程的概念(WindowsNT除外).当Windows提供了对线程的支持时,将线程和Delphi语言联系起来时又会提出这样的问题:在Delphi中进行多线程编程时,要使用哪些VCL构件,这是安全的吗?换言之,DelphiVCL多线程是安全的吗?  相似文献   

6.
杜敏  章莉  朱琨  吴百锋 《计算机工程》2009,35(11):43-45
针对嵌入式系统开发中多线程技术可移植性较差的问题,提出一种通用的轻量级多线程模型——lwThread,采用标准C语言实现,在源程序级实现线程的切换。与同类技术相比,lwThread不但可以实现线程的优先级,还可以为每个线程动态分配独立的栈空间,同时介绍确定共享栈池大小的理论依据。实验结果表明,lwThread模型可以有效提高开发效率,并降低资源消耗。  相似文献   

7.
一、COM的线程模型 Windows是个多线程的操作系统.多线程编程可以带来高性能、实时响应、并发操作等好处,但同时,多线程使得编写正确而健壮的代码变得困难起来.Win32程序员必须在涉及多线程时锁定和同步任何易受不一致性和误用影响的共享资源.COM为了权衡组件的并发性能与多线程编程的同步问题,提出了线程模型(Threading model)的概念.在COM中,进程中存在的COM对象被分到称为单元(apartment)的逻辑组.  相似文献   

8.
Windows具有多线程处理能力,应用程序中可以创建多个线程,每个线程能够独立完成一个子任务。在通信程序中使用多线程技术,可提高程序的执行效率和反应速度。结合应用实例,介绍了VC++环境下基于Win32API的多线程、串口通信、异步I/O技术的原理和实现方法。  相似文献   

9.
Windows具有多线程处理能力,应用程序中可以创建多个线程,每个线程能够独立完成一个子任务。在通信程序中使用多线程技术,可提高程序的执行效率和反应速度。结合应用实例,介绍了VC++环境下基于Win32API的多线程、串口通信、异步I/O技术的原理和实现方法。  相似文献   

10.
随着多核技术越来越普及,多线程程序的编程也越来越流行。但是多线程程序的正确性问题已经严重影响软件可靠性,且现有的测试技术不能很好地满足多线程程序的需求。本文重点研究多线程程序中最常见的一种bug,即数据竞争,提出一种基于线程调度顺序控制的测试方法。该方法混合静态方法和动态方法,能够有效地找到多线程程序中存在的数据竞争,且能够区分出哪些数据竞争是有害的,需要程序员优先修复。实验结果显示,对于数据竞争的触发概率,本文的方法使其平均从0.53%提高到79.2%,且本文所引入的运行时开销平均只有80%,与相关方法所引入370%的开销相比更优。  相似文献   

11.
动态嵌入式DLL木马实现方法   总被引:1,自引:0,他引:1  
进程的隐藏一直是木马程序设计者不断探求的重要技术,采用远程线程技术,通过动态链接库方法,可较好地解决了这一问题,通过远程线程将木马作为线程隐藏在其他进程中,从而达到隐藏的目的。  相似文献   

12.
We have designed and implemented a lightweight process (thread) library called ‘Lesser Bear’ for SMP computers. Lesser Bear has thread‐level parallelism and high portability. Lesser Bear executes threads in parallel by creating UNIX processes as virtual processors and a memory‐mapped file as a huge shared‐memory space. To schedule thread in parallel, the shared‐memory space has been divided into working spaces for each virtual processor, and a ready queue has been distributed. However the previous version of Lesser Bear sometimes requires a lock operation for dequeueing. We therefore proposed a scheduling mechanism that does not require a lock operation. To achieve this, each divided space forms a link topology through the queues, and we use a lock‐free algorithm for the queue operation. This mechanism is applied to Lesser Bear and evaluated by experimental results. Copyright © 2002 John Wiley & Sons, Ltd.  相似文献   

13.
随着职业教育理念的不断转变和软件技术的发展.软件技能型人才培养模式及如何在课程建设等方面,成为学校和社会都十分关注的问题。以校企合作、工学结合为切入点,围绕软件程序员岗位所应有的核心能力,进行教学模式的改革,是解决问题的有效途径。  相似文献   

14.
Lock Free技术及其应用研究   总被引:1,自引:0,他引:1  
多线程环境下,线程同步伴随着多线程的产生而产生,程序员对于共享内存互斥同步访问的思维已经根深蒂固。由于锁的存在,当访问互斥锁保护的共享内存时,线程首先请求锁的允许,然后才被接受访问共享内存,否则只能等待其它线程释放锁,同时锁也带来了很多负面影响。Lock Free一个崭新的多线程共享内存的同步访问技术,抛开了锁的概念,多线程平行运行,尤其是在多核时代更显优势。但Lock Free技术应用技巧性很强,难度比较大,应用范围一直非常受限,本文旨在揭示Lock Free技术应用的一般规律,使其在多核时代大放异彩。  相似文献   

15.
16.
低功耗技术越来越受到下一代微处理器系统和编译研究工作者的重视。一向认为是硬件研究内容的低功耗技术,事实上,在微处理器发展的今天,又展现出了一种新的潜在的开发空间和研究内容,那就是通过软件技术降低系统的功耗。这一部分潜力空间是仅通过硬件技术无法涉足的,只有通过软件方法来解决,但这种软件低功耗技术又很难强加给应用程序编写者。文章结合笔者在编译时低功耗优化技术的研究工作,对目前该方向的研究方法、编译策略和实现技术进行了论述和探讨。  相似文献   

17.
Java 虚拟机用户级多线程的设计与实现   总被引:5,自引:0,他引:5  
丁宇新  程虎 《软件学报》2000,11(5):701-706
详细介绍了国产开放系统平台Java虚拟机多线程的设计与实现.在线程调度上,采用带有独立队列的静态级别轮巡调度,较好地解决了独立循环线程的调度问题.对于线程的同步,采用了哈希混合锁的设计方案.实验结果证明,该锁具有空间小、执行效率高等特点.  相似文献   

18.
从进程定义出发 ,讲述 L inux下如何创建进程、结束进程、进程间的多种通信机制以及根据需求选择合适的通信方式。通过学习此文 ,初学者可以了解到编写多进程的步骤和方法 ,有经验的程序员可以编写出效率更高、安全性更好的多进程程序  相似文献   

19.
随着科技发展,越来越多的企业、家庭使用刷脸开锁箱,为使其更加安全及方便使用者管理,提出可远程控制的刷脸开锁箱;可远程监控的刷脸开锁保险箱基于面部识别技术,利用硬件与软件结合的方式,其中包括图像采集、电机驱动、视频及运动采集等,通过上传到云端并且与终端设备连接,达到远程监控的目的,以此开发新型智能保险箱;随着人脸识别技术的成熟和微型电脑的发展,为设计这样的智能保险箱提供了较好的环境与条件;经试验证明,该保险箱基于pcDuino微型电脑开发平台展开研究与开发,并通过OpenCV与Face++云识别平台协作,实现了远程监控、云端面部识别、控制开关的功能;可远程监控的刷脸开锁箱可以为更多个人、企业及家庭提供帮助。  相似文献   

20.
Transactional Memory: The Hardware-Software Interface   总被引:1,自引:0,他引:1  
As multicore chips become ubiquitous, the need to provide architectural support for practical parallel programming is reaching critical. Conventional lock-based concurrency control techniques are difficult to use, requiring the programmer to navigate through the minefield of coarse-versus fine-grained locks, deadlock, livelock, lock convoying, and priority inversion. This explicit management of concurrency is beyond the reach of the average programmer, threatening to waste the additional parallelism available with multicore architectures. This comprehensive architecture supports nested transactions, transactional handlers, and two-phase commit. The result is a seamless integration of transactional memory with modern programming languages and runtime environments  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号