第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

略講Android 中的多線程

標(biāo)簽:
Java Android

Handler

  • Handler必须在主线程中创建。
  • 默认情况下,消息队列只有一个,即主线程的消息队列。
  • 每个Hanlder都关联了一个线程,每个线程内部都维护了一个消息队列MessageQueue,这样Handler实际上也就关联了一个消息队列。
  • 消息队列通过Looper与线程关联,而handler又与Looper关联,因此handler最终就和线程、线程的消息队列关联上了。

Thread和Runnable

  • wait() 当一个线程执行到wait() 方法时,它就进入到一个和该对象相关的等待池中,同时失去(释放)了对象的机锁,使得其他线程可以访问。用户可以使用notify、notifyAll或者指定睡眠时间来唤醒当前等待池中打线程。
  • sleep() 该函数时Thread打静态函数,作用是调用线程进入睡眠状态,因此它不能改变对象打机锁。所以,当在一个Synchronized快中调用sleep方法时,线程虽然休眠了,但是对象打机锁并没有被释放,其他线程无法访问这个对象。
  • join() 等待目标线程执行完之后再继续执行。、
  • yield() 线程礼让,目标线程由运行状态转换为就绪状态,也就是让出执行权限,让其他线程得以优先执行,但其他线程是否优先执行是未知的。

线程池

java四种线程池的优点

  • 重用存在的线程,减少对象创建、销毁的开销。
  • 可有效控制最大并发线程,提高系统资源的使用率,同时避免过多资源竞争,避免堵塞。
  • 提高定时执行、定期执行、单线程、并发控制等功能。

线程池原理简单解释就是创建多个线程并且进行管理,提交给线程打任务会被线程池指派给其中的线程进行执行,通过线程的统一调度、管理使得多线程的使用更简单、高效。

线程池的使用准则

  • 不要对那些同步等待其他任务结果的任务排队,这可能导致死锁。
  • 理解任务。有效地管理线程池的大小、理解正在排队的任务以及它们正在做什么。
  • 如果再一个具有N个处理器的系统上只有一个工作队列,其中全部是计算性质的任务,在线程池具有N或者N+1个线程一般会获得最大的CPU利用率。
  • 对于那些可能需要等待I/O完成的任务,需要让线程池的大小超过可用处理器的数目,因为并不是所有的线程都一直在工作。

同步集合

程序中的优化策略---CopyOnWriteArrayList

提高并发效率---ConcurrentHashMap

有效的方法---BlockingQueue(阻塞队列)

  • 当队列满时,再次调用put函数添加元素到队列,那么调用线程将会阻塞。

同步锁

同步机制的关键---Synchronized

  • 作用与对象、函数、类。
點(diǎn)擊查看更多內(nèi)容
7人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消