码迷,mamicode.com
首页 >  
搜索关键字:临界区    ( 571个结果
线程间的参数传递
在多线程编程中,常常需要从主线程传递参数给子线程或在主线程中获得子线程的计算结果, 若使用全局变量实现,必然需要对临界区保护,因此导致大量的切换工作造成效率的低下; 而利用进程间的参数传递可以解决这一问题。 两个方向的参数传递: 1.主线程向子线程传递参数: 通过函数 int pthread_create(pthread_t *thread, const pthread_attr_t *...
分类:编程语言   时间:2014-06-16 14:34:54    阅读次数:242
自旋锁和互斥锁区别
http://blog.csdn.net/kyokowl/article/details/6294341 POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(C...
分类:其他好文   时间:2014-06-15 17:31:12    阅读次数:167
Linux环境编程之同步(三):读写锁
概述 互斥锁把试图进入我们称之为临界区的所有其他线程都阻塞住。该临界区通常涉及对由这些线程共享一个或多个数据的访问或更新。读写锁在获取读写锁用于读某个数据和获取读写锁用于写直接作区别。读写锁的分配规则如下: 1、只要没有线程持有某个给定的读写锁用于写,那么任意数目的线程可以持有该读写锁用于读。 2、仅当没有线程持有某个给定的读写锁用于读或用于写时,才能分配该读写锁用于写。 即只要没有线程在...
分类:系统相关   时间:2014-06-08 09:54:51    阅读次数:344
C#多线程:深入了解线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)
本篇继续介绍WaitHandler类及其子类 Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解 呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原...
分类:编程语言   时间:2014-05-26 20:30:56    阅读次数:386
操作系统关键术语
原子操作:一个或者多个指令的序列临界区:一段代码,在该代码中进程将访问该共享资源死锁:两个或者两个以上的进程因其中的每个进程都在等待其他进程做完事情而不能继续执行活锁:两个或者两个以上的进程为了响应其他进程中的变化而持续改变自己的状态但是不做有用的工作互斥:当一个进程在一个临界区访问共享资源时,其他...
分类:其他好文   时间:2014-05-25 18:47:34    阅读次数:235
临界资源
临界资源是指每次仅允许一个进程访问的资源。 属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。 每个进程中访问临界资源的那段代码称为临界区。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥...
分类:其他好文   时间:2014-05-23 23:34:48    阅读次数:422
临界区
简介不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进...
分类:其他好文   时间:2014-05-23 23:20:30    阅读次数:324
Win32 - 线程同步
线程的同步可分用户模式的线程同步和内核对象的线程同步两大类。         用户模式中线程的同步方法主要有原子访问和临界区等方法。其特点是同步速度特别快,适合于对线程运行速度有严格要求的场合。          内核对象的线程同步则主要由事件、等待定时器、信号量以及信号灯等内核对象构成。由于这种同步机制使用了内核对象,使用时必须将线程从用户模式切换到内核模式,而这种转换一般要耗费近千个CPU...
分类:编程语言   时间:2014-05-18 14:32:18    阅读次数:293
关于“单例模式”的另外一种实现
传统单例模式的实现有懒汉、饿汉等模式,也有双锁机制(防止不必要的线程再度进入锁的临界区实例化单例模式的全局变量)。不过据说(未经考证)在VS中CPU开启“out-of-order execution”,仍然会导致出问题,原因在于: 我们假设a和b线程同时试图初始化单例模式的全局变量,a先进入方...
分类:其他好文   时间:2014-05-18 00:21:37    阅读次数:268
VC多线程临界区
在使用多线程时,一般很少有多个线程完全独立的工作。往往是多个线程同时操作一个全局变量来获取程序的运行结果。多个线程同时访问同一个全局变量,如果都是读取操作,则不会出现问题。如果是写操作,则会发生错误。这时候,我们可以通过临界区,为全局变量设置一个保护,保证同时只有一个线程可以访问此变量,其他变量进入等待状态。       临界区(Critical Section)是一段独占对某些共享资源访问...
分类:编程语言   时间:2014-05-14 00:10:15    阅读次数:399
571条   上一页 1 ... 55 56 57 58 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!