当年在某公司实习的时候, 涉及到多线程的概念(实际上就是主线程和网络线程), 小师傅问我, 懂不懂线程的概念, 我说不懂, 也确实不懂。

       后来要找工作了, 再不懂就不好了, 所以跟大家一起看书, 书上说: 进程是正在运行的程序, 一个进程可以多多少线程。 擦, 无用的废话。 反正我一直没有理解线程是真么, 也没有搞清楚什么是线程, 只是看书上说, 线程可以提高程序效率。 呜呼哀哉。

       后来, 我又去网上找各种资料, 看看线程是什么, 各种古怪的比喻和例子, 我有点想骂人。

       再后来, 我想看线程长什么样, 不就是一个程序吗? 哪来运行一下, 看看结果, 于是, 就入门线程了:

#include <stdio.h>
#include <unistd.h>
#include <pthread.h>

void* threadFunc(void* p)
{
	printf("threadFunc is %u\n", pthread_self());

	int i = 0;
	while (1)
	{
		printf("in threadFunc, index %d\n", i++);
		sleep(1);
	}
 
	return NULL;
}
 
int main ()
{
	printf("main thread id is %u\n", pthread_self());

	pthread_t id;
	pthread_create (&id, NULL, threadFunc, NULL);
	printf("son thread id is %u\n", id);

 	int i = 0;
	while (1)
	{
		printf("in main, index %d\n", i++);
		sleep(1);
	}
 
	return 0;
}
       后来, 深入学习了一些线程方面的东西, 发现这玩意儿真是简单, 不值得一说。

       所以, 我就不说了。




本文转载:CSDN博客