多线程笔记

线程是进程中的一个执行实体,用来描述进程的执行,负责指向包括在进程内部地址空间中的代码。
多线程是指同时存在几个执行体,按几个不同的执行线索共同工作的情况。
要用多线程的主要原因是运行过程中需要处理大量的IO操作或者需要有较多的等待时间,比如读写文件、视频图像的采集等。

  • 在Java中一个应用可以包含多个线程,每个线程执行特定任务,可以与其它线程并发执行。
  • 引入多线程的目标在于减少CPU空转时间,提供CPU的利用率,java多线程提供了一个编程模型隐藏CPU在多任务间切换的实现细节,不需要修改代码就可以实现跨多CPU、多核的处理器。
  • 提高吞吐量,充分利用cpu资源,减少cpu空转时间。
  • 伸缩性,可以通过CPU核数提升性能。使用多线程并不能提高硬件的性能。

多线程优点和缺点

  • 在多任务中,各个进程需要分配各自独立的地址空间;多线程可共享相同的地址空间并且分享同一个进程。
  • 进程间调用涉及的开销比线程通信多
  • 线程间的切换成本比进程间切换的成本低
  • 多线程缺点:设计更复杂,上下文切换开销,增加资源消耗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值