之前自己在写一个爬虫项目的时候,用到了多线程的内容;但只是调用了java和python的线程池的库函数,而且没有涉及到多线程的核心内容(最起码连互斥都没有用到)。面试时被问到了相关的内容,回答的不太好,也提醒了自己把这块内容捡起来并夯实一下。学习的原则是从最简单的可以run的demo开始。主要参考了...
分类:
编程语言 时间:
2015-08-03 16:13:55
阅读次数:
274
一个简单的Linux多线程例子 带你洞悉互斥量 信号量 条件变量编程 希望此文能给初学多线程编程的朋友带来帮助,也希望牛人多多指出错误。 另外感谢以下链接的作者给予,给我的学习带来了很大帮助 http://blog.csdn.net/locape/article/details/60403...
分类:
编程语言 时间:
2015-08-02 16:26:24
阅读次数:
159
读写锁书上有读者写者的代码,我实在是懒得实现一遍了。跟之前的代码差不多。多线程异步信号处理int pthread_kill (pthread_t __threadid, int __signo) :发送信号。第二个参数为0时表示检测指定线程是否存在。成功返回0.int pthread_sigmask...
分类:
编程语言 时间:
2015-07-30 22:56:09
阅读次数:
199
条件变量通信机制条件变量必须配合互斥锁一起实现对资源的互斥访问使用方法:int pthread_cond_init (pthread_cond_t *__restrict __cond, __const pthread_condattr_t *__restrict __cond_attr) :初始化...
分类:
编程语言 时间:
2015-07-30 21:16:42
阅读次数:
161
线程同步机制互斥锁通信机制int pthread_mutex_init (pthread_mutex_t *__mutex, __const pthread_mutexattr_t *__mutexattr) :初始化互斥锁,成功返回0 参数1:要初始化的互斥锁 参数2:定义要初始化的互斥锁属性.....
分类:
编程语言 时间:
2015-07-30 20:59:35
阅读次数:
152
线程与进程对比1.用户空间对比2.内核空间资源对比在创建线程时,Linux内核仍然创建一个新的PCB来标识这个线程。内核并不认为进程与线程有差别。进程是操作系统管理资源的基本单元,线程时Linux系统调度的基本单元。3.进程线程函数对比创建线程int pthread_create (pthread_...
分类:
编程语言 时间:
2015-07-30 16:53:07
阅读次数:
198
——本文一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。前言线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到这样一道面试题:是否熟悉POSIX多线程编程技术?如熟...
分类:
编程语言 时间:
2015-07-28 12:26:26
阅读次数:
186
对象操作Linux Pthread APIWindows SDK 库对应 API线程创建pthread_createCreateThread退出pthread_exitThreadExit等待pthread_joinWaitForSingleObject互斥锁创建pthread_mutex_init...
分类:
编程语言 时间:
2015-07-27 22:24:23
阅读次数:
111
以前没考虑过这个问题,而且之前可能运气比较好,虽然用了udelay但也没出什么奇怪的问题,今天在CSDN上看到了一篇关于此问题帖子,觉得很受用,再此做简要的记录和分析: 驱动开的是内核线程 跟普通进程一样是可以调度的,而udelay是靠死循环实现的延迟,当你的内核线程没有占用cpu时,很可能超过1m...
分类:
编程语言 时间:
2015-07-26 18:58:09
阅读次数:
188
说明:对多线程与互斥锁不熟悉的请参考其它
#include
#include
#include
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;/*初始化互斥锁*/
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;/*初始化条件变量*/
void *thread1(void *);
v...
分类:
编程语言 时间:
2015-07-17 16:23:19
阅读次数:
177