Linux 多线程编程

1.线程和进程的区别

   (1)进程是资源分配的最小单位,线程是程序执行的最小单位。

   (2)进程有独立的地址空间,线程没有单独的地址空间。

   

    线程的优点:(1)耗费时间少,效率高。

                            (2)切换时间短。

                            (3)对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程。

                            (4)一个线程的数据可以直接为其它线程所用,这不仅快捷,而且方便。

                            (5)使多CPU系统更加有效.操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上。

                            (6)改善程序结构.一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。

     进程的优点:(1)进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响。

                             (2)多进程的程序要比多线程的程序健壮。



2.互斥量和信号量的区别

   (1)mutex要由获得锁的线程来释放(谁获得,谁释放)。而semaphore可以由其它线程释放。

   (2)初始状态可能不一样:mutex的初始值是1 ,semaphore的初始值可能是0(或者为1)。

      






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值