摘要: 3)合并线程:pthread_join int pthread_join(pthread_t* thread, void **ret); 第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。这个函数是一个线程阻塞的函数,调用它的函数将一直等待到被等待的线程结束为止,当函数返回时,被等待线程的资源被收回。关于什么是可joinable的线程,参见[3]。4)通过到斥实现线程同步(1)声明互斥锁变量:pthread_mutext_tmutex; pthread_mutex_t为不公开的数据类型,其中包含一个系统分配的属性对象。(2)互斥锁初始化:pthr 阅读全文
posted @ 2011-08-16 21:12 浪里飞 阅读(950) 评论(0) 推荐(0) 编辑
摘要: 1、在Linux中,线程一般被认为是“轻量级的进程”。 Linux 创建进程所使用的函数是fork()或者vfork()。而对线程的创建和管理Linux可以使用POSIX的线程库pthreads提供的APIs。2、使用fork()创建进程和使用POSIX线程库差别: 使用fork() 创建进程的特点:① 代价昂贵,通常子进程需要拷贝父进程的整个上下文,比如数据等。② 进程间的通信方式比较复杂,比如使用管道、消息、共享内存等方法。③ 操作系统在实现进程间的切换比线程切换更费时。 使用POSIX pthreads库创建线程的特点:① 线程可使用存在于进程中的资源,因此创建进程比创建线程更快。② 线 阅读全文
posted @ 2011-08-16 21:11 浪里飞 阅读(1140) 评论(0) 推荐(0) 编辑