linux多线程好文章
1
、线程的创建、终止及控制:
任何进程在启动时就已有了一个主线程,如果需要再生成线程则使用
pthread_create
函数,在该函数中可以指定线程的属性、线程例程、传给线程例程的参数。线程例程是一个用户自定义的函数,及线程执行的代码。当线程例程返回时,线程则结束运行,也可以显示调用
pthread_exit
来退出。线程在创建后可以用
pthread_self
函数获取线程
ID
。函数
pthread_join
使得进程等待线程的终止,调用
pthread_join
后进程将被挂起,直到指定的某个线程(在
pthread_join
的参数
thread
中指定)终止。而
pthread_detach
函数正好相反,它使得进程不必等待线程的结束,从而允许进程继续执行别的操作,被
detach
的线程在执行结束后其占用的资源由系统自动收回。
2
、线程间的互斥:
互斥操作
,就是对某段代码或某个变量修改的时候只能有一个线程在执行这段代码,其他线程不能同时进入这段代码或同时修改变量。
pthread
常用
pthread_mutex
互斥体来实现线程互斥操作。
pthread_mutex_init
函数用于初始化一个互斥体变量。
pthread_mutex_lock
函数用于给互斥体变量上锁,如果上锁时互斥体已经被被的线程锁住了,那么调用该函数的线程将被阻塞直到互斥体被解锁为止。而
pthread_mutex_trylock
则是试图锁住互斥体,但在互斥体已经被加锁时不会造成阻塞,而是迅速返回。
pthread_mutex_unlock
函数对互斥体解锁。
pthread_mutex_destroy
则用来释放互斥体所占资源。
3
、线程的同步:
同步就是若干个线程等待某个事件的发生,当该事件发生时,一起开始继续执行。在
Linux
线程中用条件变量来实现同步。函数
pthread_cond_init
用来创建一个条件变量。
pthread_cond_wait
和
pthread_cond_timewait
用来等待条件变量被设置,值得注意的是这两个等待调用需要一个已经上锁的互斥体
mutex
,这是为了防止在真正进入等待状态之前别的线程有可能设置该条件变量而产生竞争。
pthread_cond_broadcast
用于设置条件变量,即使事件发生,并使得所有等待该事件的线程不再阻塞。而
pthread_cond_signal
则是用解除某一个等待线程的阻塞状态。
pthread_cond_destroy
用来释放一个条件变量的资源。
4
、生产者——消费者多线程技术实现:
&nbs
相关文档:
Fedora 8.0(linux)用RPM安装gcc
前一阵装了一个Fedora 8.0,居然将gcc选项没选,现在想在Linux环境下调试c程序,只有再安装gcc编译器。在Fedora 8.0安装的源文件中,找到Package文件夹,里面安装gcc编译器的文件,Fedora 8.0的gcc 是version 4.12 (20070925)。
安装顺序:
(1)rpm -ivh kernheaders-2.6 ......
1、Linux系统下.ko文件是什么文件?.so文件是什么文件?
.ko -- kernel object,内核模块,可以在Linux内核起来之后动态的加载和卸载。
.so -- shared object,用户层的动态库 (于.a 对应),使用同一个.so的程序在运行时
只需要该.so的同一份拷贝 ......
安装rpm包
配置:
重起vsftpd服务:service vsftpd restart
启动vsftpd服务:service vsftpd start
1. 匿名服务器的连接(独立的服务器)
修改/etc/vsftpd/vsftpd.conf配置文件一下项,没有则添加:
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes
(切换目录时,显示目录下.message的内容)
Loca ......
管理员想要提高Linux管理效率是要遵循一些管理技巧的,这里简单介绍有关Linux管理效率的三个技巧:卸载无响应的 DVD 驱动器、恢复出现问题的屏幕、屏幕协作。相信他们会对管理员效率有提高。
技巧 1:卸载无响应的 DVD 驱动器
网络新手的经历:按下服务器(运行基于 Redmond 的操作系统)DVD 驱动器上的 Eject 按钮时, ......
经过上述的几个步骤。第一个目标,代码能够编译通过基本上是不会有什么问题的。只要把握好二个修改代码的基本原则,第一。引入新的代码,而不修改原有的代码。在没有办法进行调试前修改源代码是不允许的,修改的不好就会引起最后代码运行逻辑的混乱,而且在代码能够运行之前是很难发现问题的。所以除非非常有把握,否则不要 ......