多线程 开张篇

提到线程第一反应其他概念进程,操作系统。


线程就是干活的人。多线程就是多个人干活。线程可以分ui线程和工作线程。ui线程就是前台工作者,一般都是小姑娘。工作线程就是后台工人(干些苦活累活的)

前台吩咐后台干活,后台干完了要通知前台。这就是男女搭配,干活不累。前台和后台共用一个厕所。这时男女有别,所以门上需要一个缩。需要谁先占用,谁使用。

线程争夺资源交互模型:生产者-消费者;读写;早餐问题;特别注意;线程死锁问题


进程则是资源提供者,负责管理各种资源。

进程是个容器,线程则是在进程里面跑。


多线程的问题

1)死锁

2)无限延迟

3)竞争


同步问题的出现

1)数据从内存装载到寄存器

2)在寄存器上运算

3)数据从寄存器写回内存

这三个步骤存在交替,就出现问题了。


同步机制:

锁:

信号量 :  比互斥量有更好的并发性

               假如我们用互斥量来控制对缓冲的访问,那么生产者,消费者不能同时访问缓冲。然而,我们知道在同一时刻,不同线程访问缓冲的不同部分并没有什么危害。



线程的作用

1)解决执行较长时间的操作而不至于用户界面失去响应。

2)提高多核使用率。


使用线程的主要想法是希望它们可以尽可能并发执行,而一些关键点上线程之间需要停止或等待。例如,假如两个线程试图同时访问同一个全局变量


累了,不写了。继续写我的程序了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值