- 博客(4)
- 收藏
- 关注
转载 互斥锁的实现
“ 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在 那里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这 个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说
2016-08-25 15:43:08 443
转载 malloc和new的区别
前几天笔试遇到的问题,虽然我大体了解但是并没有系统的总结过,这篇文章很好的总结了两者的关系,应用场景等1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分
2016-08-15 19:04:50 269
原创 关于用Getline读取文件只能读取首行的问题
自己再代码中用getline读取文件时只能读取首行,这个问题困扰了我很久,最开始我以为是函数没有识别换行,任然再第一行读取东西,但这个行getline这个函数的基本功能就相悖了,在稍作测试后我就换了其他思路,转向其他方向。void ReadMan(list &Gtm,char *filename){ ifstream ifile(filename,ios::in); if (ifile.
2016-08-11 18:21:06 2294
转载 《操作系统》操作系统中锁的实现原理
转自:http://blog.sina.com.cn/s/blog_75f0b54d0100r7af.html在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。所谓的锁,说白了就是内存中的一个整型数,拥有两种状
2016-08-11 16:27:56 5197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人