标签:next 全局变量 显示 打开文件 accept oop images 而且 兼容
hello_multi.c
先打印world换行打印hello,间隔1秒再打印相同内容,一共打印5次,最后输出t1,t2 finished
hello_multi1.c
hello_single.c
打印一个hello,之后每间隔1秒打印一 个hello,共5个;然后打印一个world并换行,之后每间隔1秒打印一个world,共5个
incprint.c
在屏幕上换行输出count=1,2,3,4,5,间隔1秒
twordcount1.c
统计两个file的words数
twordcount2.c
引入pthread_mutex_t,统计两个file的words数
twordcount3.c
先统计两个file各自的words数,再统计两个file的总words数
twordcount4.c
先输出两个file各自的信息和words数,再统计两个file的总words数
condvar.c
消费者等待生产者产出产品后才打印,否则消费者阻塞等待生产者生产。
count.c
创建两个线程共享同一变量,都实现加一操作
countwithmutex.c
引入互斥锁(Mutex)解决访问冲突的问题,程序首先定义了一个宏PTHREAD_MUTEX_INITIALIZER
来静态初始化互斥锁。先创建tidA
线程后运行doit函数,利用互斥锁锁定资源,进行计数,执行完毕后解锁。后创建tidB
,与tidA
交替执行。由于定义的NLOOP值为5000,所以程序最后的输出值为10000.程序的最后还需要分别回收tidA
和tidB
的资源。
cp_t.c
将源文件复制到目的文件,并在其中创建num个线程
运行:./cp_t [源文件名] [目的文件名] [创建线程数]
createthread.c
打印进程和线程ID主函数中先利用pthread_create()函数创建一个线程,接着调用printids函数(打印标识符的函数)打印主线程号,最后线程函数thr_fn中打印出新建的线程号。
semphore.c
信号量,打印product和consume。
sem_init函数
sem_init(sem_t *sem, int pshared, umsigned int value);
函数初始化一个定位在sem的匿名信号量;pshared参数为0指明信号量是由进程内线程共享,若为非0值则信号量在进程之间共享;value参数指定信号量的初始值。这个函数和之前的condvar.c一样都是展示生产者和消费者交替工作的过程。区别是本程序实现生产或消费的过程是利用sem_wait()
和sem_post()
,它们的作用分别是从信号量的值减去一个“1”和从信号量的值加上一个“1”
share.c
获得线程的终止状态
threadexit.c
输出3个线程的状态
传送机制:定义一种把数据位捆扎成不连续的片的同一方式
检索并打印一个DNS主机条目:
#include "csapp.h"
int main(int argc, char **argv)
{
char **pp;
struct in_addr addr;
struct hostent *hostp;
if (argc != 2) {
fprintf(stderr, "usage: %s <domain name or dotted-decimal>\n",
argv[0]);
exit(0);
}
if (inet_aton(argv[1], &addr) != 0)
hostp = Gethostbyaddr((const char *)&addr, sizeof(addr), AF_INET);
else
hostp = Gethostbyname(argv[1]);
printf("official hostname: %s\n", hostp->h_name);
for (pp = hostp->h_aliases; *pp != NULL; pp++)
printf("alias: %s\n", *pp);
for (pp = hostp->h_addr_list; *pp != NULL; pp++) {
addr.s_addr = ((struct in_addr *)*pp)->s_addr;
printf("address: %s\n", inet_ntoa(addr));
}
exit(0);
}
-Web客户端和服务器之间的交互用的是一个基于文本的应用级协议,叫做 HTTP (Hypertext Transfer Protocol,超文本传输协议). HTTP 是一个简单的协议。一个 Web 客户端(即浏览器) 打开一个到服务器的因特网连接,并且请求某些内容。服务器响应所请求的内容,然后关闭连接。浏览器读取这些内容,并把它显示在屏幕上。
创建线程
终止线程
回收已终止线程的资源
分离线程
初始化线程
代码托管链接:https://git.oschina.net/929210354/Linux
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 1/2 | 20/20 | |
第二周 | 92/192 | 1/3 | 18/38 | |
第三周 | 195/387 | 1/4 | 22/60 | |
第四周 | 180/567 | 0/4 | 30/90 | |
第五周 | 120/687 | 1/5 | 20/20 | |
第六周 | 130/817 | 1/6 | 18/38 | |
第七周 | 550/1367 | 1/7 | 22/60 | |
第八周 | 0/1367 | 2/9 | 30/90 | |
第九周 | 60/1427 | 2/11 | 20/20 | |
第十周 | 514/1941 | 2/13 | 18/38 | |
第十一周 | 1856/3797 | 2/15 | 22/60 | |
第十二周 | 97/3894 | 2/15 | 22/60 | |
第十三周 | 200/4094 | 1/16 | 22/60 |
标签:next 全局变量 显示 打开文件 accept oop images 而且 兼容
原文地址:http://www.cnblogs.com/dwc929210354/p/6159511.html