码迷,mamicode.com
首页 >  
搜索关键字:互斥    ( 2999个结果
Java并发框架——AQS阻塞队列管理(一)
我们知道一个线程在尝试获取锁失败后将被阻塞并加入等待队列中,它是一个怎样的队列?又是如何管理此队列?这节聊聊CHL Node FIFO队列。  在谈到CHL Node FIFO队列之前,我们先分析这种队列的几个要素。首先要了解的是自旋锁,所谓自旋锁即是某一线程去尝试获取某个锁时,如果该锁已经被其他线程占用的话,此线程将不断循环检查该锁是否被释放,而不是让此线程挂起或睡眠。它属于为了保证共享资源而...
分类:编程语言   时间:2014-12-20 23:33:23    阅读次数:572
Linux互斥与同步应用(二):posix线程同步
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】         上一节说到线程的互斥锁,互斥锁适合防止访问某个共享变量,这一节我们来看看两个线程如何实现同步。互斥锁也可以实现线程同步,当该值满足某种条件时当前线程继续执行,否则继续轮询,不过这样相当浪费cpu时间。我们需要的是让某个线程进入睡...
分类:编程语言   时间:2014-12-20 14:18:19    阅读次数:258
聊聊高并发(三十六)Java内存模型那些事(四)理解Happens-before规则
在前几篇将Java内存模型的那些事基本上把这个域底层的概念都解释清楚了,聊聊高并发(三十五)Java内存模型那些事(三)理解内存屏障 这篇分析了在X86平台下,volatile,synchronized, CAS操作都是基于Lock前缀的汇编指令来实现的,关于Lock指令有两个要点: 1. lock会锁总线,总线是互斥的,所以lock后面的写操作会写入缓存和内存,可以理解为在lock后面的写缓存...
分类:移动开发   时间:2014-12-19 13:08:25    阅读次数:307
Java---16---多线程---死锁
死锁: 概念: 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象:死锁。 死锁发生...
分类:编程语言   时间:2014-12-18 18:49:46    阅读次数:214
条件变量signal与unlock的顺序
编写同步队列时,有用到条件变量,对操作队列的线程进行同步。当队列为空时,允许get线程挂起,直到add线程向队列添加元素并通过唤醒条件变量,get线程继续向下运行。条件变量在多线程程序中用来实现“等待->唤醒”逻辑常用的方法。条件变量要和互斥量相联结,以避免出现条件竞争:一个线程预备等待一个条件.....
分类:其他好文   时间:2014-12-18 01:40:46    阅读次数:229
C++标准库之mutex
互斥锁有可重入、不可重入之分。C++标准库中用mutex表示不可重入的互斥锁,用recursive_mutex表示可重入的互斥锁。为这两个类增加根据时间来阻塞线程的能力,就又有了两个新的互斥锁:timed_mutex(不可重入的锁)、recursive_timed_mutex(可重入的锁)。C++标...
分类:编程语言   时间:2014-12-17 22:16:49    阅读次数:299
Linux同步与互斥应用(零):基础概念
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】         当操作系统进入多道批处理系统时代以后,一个系统中就存在多个任务,每个任务都按照一定的算法进行调度来使用内存、cpu等共享资源。当其中一个任务等待其他资源时,该任务可以暂时睡眠,操作系统调度另外任务继续执行额,这样可以使系统资源得...
分类:系统相关   时间:2014-12-17 21:02:39    阅读次数:231
Linux互斥与同步应用(一):posix线程及线程间互斥
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】     有了进程的概念,为何还要使用线程呢? 首先,回忆一下上一个系列我们讲到的IPC,各个进程之间具有独立的内存空间,要进行数据的传递只能通过通信的方式进行,这种方式不仅费时,而且很不方便。而同一个进程下的线程是共享全局内存的,所以...
分类:编程语言   时间:2014-12-17 21:00:37    阅读次数:195
[转]让程序只能打开一个
原文地址:http://www.csharpwin.com/csharpspace/10656r1776.shtml防止程序运行多个实例的方法有多种,如:通过使用互斥量和进程名等.而我想要实现的是:在程序运行多个实例时激活的是第一个实例,使其获得焦点,并在前端显示.主要用到两个API 函数:Show...
分类:其他好文   时间:2014-12-17 17:55:00    阅读次数:267
同步线程和进程间的通信
最近回去学习了一下进程和进程间的通信,有时候很多东西久不看了也就一下子忘了==这里面有好几个互斥对象使用线程的 1 void mListText(CString str) 2 { 3 m_list_text.AddString(str); 4 m_list_text.Send...
分类:编程语言   时间:2014-12-17 14:28:55    阅读次数:234
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!