操作系统--线程

1、为什么要有线程

进程无法实现一段时间内并发执行

案例:

MP3播放器软件:

步骤:

1.读取文件

2.分析数据

3.播放声音

单进程代码:

main()
{
	while(1){
		read();
		decopress();
		play();
	}
}

缺点:read的速度远远比其他两个慢,会导致这个进程断断续续的

于是分成三个进程:

main()
{
	while(1){
		read();
	}
}

main()
{
	while(1){
		decopress();
	}
}

main()
{
	while(1){
		play();
	}
}

由于三个进程相互之间是独立的,无法访问别人的地址空间  ,于是引入线程概念

1.实体之间可以并发的执行

2.实体之间共享相同的地址空间

把上面三个分成3个线程即可

线程与进程比较

1.进程是资源分配的单位,线程是cpu调度单位

2.线程没有PCB,是TCB  thread

3.进程含有多个线程

4.线程只属于一个进程,一个进程有多个线程,且至少一个线程

进程包括 资源管理+线程

发布了498 篇原创文章 · 获赞 66 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41286356/article/details/104969646