http://www.ibm.com/developerworks/cn/linux/thread/posix_thread3/#1
当多线程想要等待某一条件成立时,用pthread_cond_wait来阻塞线程,
首先明确wait的作用,pthread的wait与lock都可以阻塞线程等待“条件”成立,区别在于:
wait之后的发送来的条件成立(pthread_cond_broad...
分类:
编程语言 时间:
2015-05-27 21:10:13
阅读次数:
130
Axel是 Linux 下一款不错的 HTTP 或 FTP 高速下载工具。支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件,适合网速不给力时多线程下载以提高下载速度。需要注意的是,该软件只有命令行界面。安装 sudo apt-get install axel使用ax...
分类:
编程语言 时间:
2015-05-18 22:37:48
阅读次数:
179
进程及线程基本定义进程(process)
处于执行期的程序及其所包含资源的总称
程序:可执行程序代码
资源:打开文件、挂起信号、地址空间、数据段等
线程(thread)
进程中活动的对象
有独立的程序计数器、进程栈及一组进程寄存器
节省主存、减少管理开销、快速切换进程
资源分配单位
进程的上下文组成
进程控制块PCB:包括进程的编号、状态、优先级以及正文段和数据段中数据分布的大概...
分类:
编程语言 时间:
2015-05-16 10:34:52
阅读次数:
171
摘自资料(linux 与Windows不同) 线程间无需特别的手段进行通信,由于线程间能够共享数据结构,也就是一个全局变量能够被两个线程同一时候使用。只是要注意的是线程间须要做好同步,一般用mutex。能够參考一些比較新的UNIX/Linux编程的书,都会提到Posix线程编程,比方《UNIX环境高...
分类:
编程语言 时间:
2015-05-10 18:45:08
阅读次数:
185
/* tcp_server.c */
#include
#include
#include
#include
#define portnum 3333
int main()
{
int sockfd,newfd;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
char buffer[128];
...
分类:
其他好文 时间:
2015-05-09 10:19:15
阅读次数:
122
多个线程按照规定的顺序来执行,即线程同步
条件变量实现线程同步
1.初始化: pthread_cond_t cond_ready = PTHREAD_COND_INITIALIZER;
2.等待条件成熟:pthread_cond_wait(&cond_ready,&mut);
3.设置成熟条件:pthread_cond_signal(&cond_ready);
综合...
分类:
编程语言 时间:
2015-05-07 22:10:19
阅读次数:
139
1.线程概念
线程就是“轻量级”的进程
线程与创建它的进程共享代码段和数据段
线程拥有自己独立的栈
2.函数学习
创建线程
函数名:pthread_create
函数原型:int pthread_create(pthread_t *thread,const pthread_attr_t *attr,void *(*start_routine)(void *),void *arg)
...
分类:
编程语言 时间:
2015-05-07 18:50:51
阅读次数:
128
http://blog.csdn.net/neustar1/article/details/7478311利用C/C++开发大型应用程序中,内存的管理与分配是一个需要认真考虑的部分。本文描述了内存池设计原理并给出内存池的实现代码,代码支持Windows和Linux,多线程安全。内存池设计过程中需要考...
分类:
其他好文 时间:
2015-05-06 17:27:39
阅读次数:
280
1.运行一个进程中的多个线程,彼此之间使用相同的地址空间,共享大部分数据。
2.启动一个线程所花费的空间远远小于启动一个进程所话费的空间。
3.线程间切换所需要的时间远远小于进程间切换所需要的时间。
4.不同进程具有独立的数据空间,数据的传递只能通过通信的方式。--费时、不方便
统一进程下的线程之间共享数据空间,一个线程数据可以直接为其他线程所用。--快捷、方便
5.编写多线程需要注...
分类:
编程语言 时间:
2015-04-27 18:32:10
阅读次数:
199
Linux进程创建一个新线程时,线程将拥有自己的栈(因为线程有自己的局部变量),但与它的创建者共享全局变量、文件描述符、信号句柄和当前目录状态。
Linux通过fork创建子进程与创建线程之间是有区别的:fork创建出该进程的一份拷贝,这个新进程拥有自己的变量和自己的PID,它的时间调度是独立的,它的执行几乎完全独立于父进程。
进程可以看成一个资源的基本单位,而线程是程序调度的基本单位,一个进程内部的线程之间共享进程获得的时间片。...
分类:
编程语言 时间:
2015-04-25 13:47:23
阅读次数:
216