Victo

我的网络笔记本,用于收藏和总结一些知识。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

2014年10月30日

摘要: 前面两篇文章都讲述了Linux环境下的多线程编程基础知识,也附带了典型实例。本文主要比较一下Linux环境与Windows环境下的多线程编程区别。 看待技术问题要瞄准其本质,不管是WIN32、Linux还是VxWorks,其涉及到多线程的部分都是那些内容,无非就是线程控制和线程通信,它们的许多... 阅读全文
posted @ 2014-10-30 23:02 VictoKu 阅读(1201) 评论(0) 推荐(0) 编辑

摘要: 上一篇文章中主要讲解了Linux环境下多线程的基本概念和特性,本文将说明Linux环境下多线程的同步方式。 在《UNIX环境高级编程》第二版的“第11章 线程”中,提到了类UNIX系统中的三种基本的同步机制:互斥、读写锁、条件变量。下面分别针对这三种机制进行说明:一、线程互斥 互斥意味着具有... 阅读全文
posted @ 2014-10-30 18:09 VictoKu 阅读(1899) 评论(0) 推荐(0) 编辑

摘要: 一、Linux环境下的线程 相对于其他操作系统,Linux系统内核只提供了轻量级进程的支持,并未实现线程模型。Linux是一种“多进程单线程”的操作系统,Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。 进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享 阅读全文
posted @ 2014-10-30 16:22 VictoKu 阅读(23829) 评论(0) 推荐(0) 编辑

摘要: 在Windows环境下针对多线程同步与互斥操作的支持,主要包括四种方式:临界区(CriticalSection)、互斥对象(Mutex)、信号量(Semaphore)、事件对象(Event)。下面分别针对这四种方式作说明:(1)临界区(CriticalSection) 每个进程中访问临界资源的... 阅读全文
posted @ 2014-10-30 11:42 VictoKu 阅读(1940) 评论(0) 推荐(0) 编辑

摘要: 本文参考文章:多线程的那点事儿(之数据互斥) 在多线程存在的环境中,除了堆栈中的临时数据之外,所有的数据都是共享的。如果我们需要线程之间正确地运行,那么务必需要保证公共数据的执行和计算是正确的。简单一点说,就是保证数据在执行的时候必须是互斥的。否则,如果两个或者多个线程在同一时刻对数据进行了操作,... 阅读全文
posted @ 2014-10-30 10:53 VictoKu 阅读(1799) 评论(0) 推荐(0) 编辑

摘要: 一、什么是线程 线程(thread)是进程中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派... 阅读全文
posted @ 2014-10-30 10:15 VictoKu 阅读(965) 评论(0) 推荐(1) 编辑