
多线程
overstack
中大研究生喜欢linux后台技术各种架构研究方向是机器学习和数据挖掘
展开
-
Linux多线程编程(不限Linux)——本文一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。
前言 线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到这样一道面试题: 是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能: 1)有一int型全局变量g_Flag初始值为0; 2) 在主线称中起动线程1,打印“this is thread1”,并将g_F转载 2013-03-18 19:47:40 · 703 阅读 · 0 评论 -
linux多线程编程基础1
今天突然想看一下linux下的多线程编程,对于多线程编程也有自己的理解,比如多个线程共享所在进程的所有资源,当然对这些资源的访问,有些时候需要我们互斥访问,所以得有线程锁,有时候可能我们需要线程间同步,那么就需要我们使用条件变量和信号量等等,多个线程每个线程都有一个线程栈,用来保存每个线程独有的状态转换,当然这些线程栈都是在进程的地址空间内,只不过他们的地址相互独立而已,当然如果我们能知道其他线程转载 2013-03-18 17:31:55 · 717 阅读 · 0 评论 -
一个Linux下C线程池的实现
线程池的想法就是:最多开MAX_NUM个线程,将任务链接成链表,每个线程从链表里面拿任务(使用回调函数)完成,完成之后不销毁线程,继续从链表里面拿任务来完成直到所有任务都完成。这样就节省了频繁开启和销毁线程的开销。 什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该转载 2013-04-20 22:03:12 · 628 阅读 · 0 评论