摘要: 线程的优点:减少系统调度开销,不占有独立的资源,切换速度快,执行效率高。线程间通信方便,可共享资源。改善程序设计结构,功能复杂的进程可以分为多个独立的线程分别执行,模块性更强。 线程分为:用户态线程和核心态线程。 用户态的多线程程序在运行时不许要特定的内核支持,同一个进程的线程之间进行切换时,不需要调用系统调用。 核心态线程的实现方法允许不同进程中的的线程按照相同的调度方法进行调度,有利于发挥多处理器的并发优势。线程创建:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_rout... 阅读全文
posted @ 2013-03-31 17:08 cococo点点 阅读(660) 评论(0) 推荐(0)
摘要: 1.使用memset、memcpy等函数需要包含string.h而不是strings.h2.error: format not a string literal and no format arguments printf(buf); //liunx下编译上述代码时出现编译报错。 //解决方法: 将printf(buf) 改为: printf("%s",buf) 阅读全文
posted @ 2013-03-31 16:29 cococo点点 阅读(325) 评论(0) 推荐(0)
摘要: Linux下编写线程函数的时候,虽然你已经把头文件#include<pthread.h>加入,但是会提示thread_date.c:(.text+0x67): undefined reference to `pthread_create'thread_date.c:(.text+0xaa): undefined reference to `pthread_join'编译失败。失败原因: pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atf 阅读全文
posted @ 2013-03-31 15:26 cococo点点 阅读(501) 评论(0) 推荐(1)
摘要: 进程作为资源分配和调度的基本单元,当进程被引进来后,线程作为系统调度执行的基本单元。 与进程不同,同一进程的各个线程可以共享资源。 linux运行中有就绪(Waiting),执行(Running)和停止(Stopped)三种基本状态。此外,linux还会产生一种不受欢迎的状态:僵死(Zombie)状态,通常称为Z状态。处于Z状态的进程已经死亡,但没有释放系统资源,包括内存和一些系统表等。在Linux操作系统中要手动清除处于Z状态的进程。#include <stdio.h>#include <unistd.h>int main(){ //获取自身所运行的进程ID pr.. 阅读全文
posted @ 2013-03-31 14:19 cococo点点 阅读(285) 评论(0) 推荐(0)
摘要: 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:# kill -pid注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。确定要杀死进程的PID或PPID# ps -ef | grep httpd以优雅的方式结束进程# kill -l PID-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍 阅读全文
posted @ 2013-03-31 10:32 cococo点点 阅读(12380) 评论(0) 推荐(0)