1.linux多线程概述 为了进一步减少处理器的空转时 间支持多处理器和减少上下文切换开销,也就出现了线程。
每个进程至少都有一个main线程。它 与同进程中的其他线程共享进程空间{堆代码 数据 文件描述符 信号等},只拥有自己的栈空间,大大减少了上下文切换的开销。
看看优缺点: 线程开销小,占用CPU小,线程之间切换快,但是不利于资源保护。
进程相反,从可移植性来说,进程的移植性要好。
1.2.线程分类 用户级线程:主要解决上下文切换问题,调度算法和调度过程全部由用户决定,在运行时不需要特定 的内核支持。缺点:发挥不了多处理器的优势。
核心级线程:允许多线程并发执行,
1.3.线程创建的Linux实现 进程 fork() exit() wait() 线程 pthread_create() pthread_exit() pthread_join() 编译-lpthread(前面l是小写的L)
2.线程的创建和退出
pthread_creat(pthread_t thread,pthread_attr_t attr,void (*start_routine)(void ),void *arg); void pthread_exit(void *retval);
新闻热点
疑难解答