Java多线程学习笔记

  • 我们知道,线程的调度执行是存在优先级的,优先级高的线程没有未死亡时,优先级低的线程时无法使用CPU内存的,但此时由于某些原因,我们需要让优先级低的线程穿插进来,此时我们可以利用sleep(int millsecond)函数,让某个线程睡眠一段时间,参数的单位为毫秒,特别需要注意:sleep必须在try-catch语句中调用
  • 在多个线程同时执行某个操作时,比如一对夫妻同时对一张银行卡里的钱进行存取操作时,不能两个人同时登陆这个系统,必须在一个人操作完之后,另一个人才能操作,否则会发生混乱,为了避免这种情况,我们可以在执行这个操作的方法前面加一个修饰符synchronized,这样就可以进行线程同步了,也就是当线程A执行这个方法时,线程B必须等待A执行完这个方法后才能执行这个方法
  • 在某个线程进行到某个步骤,需要另一个进程先执行时,我们可以利用join()方法,比如A线程为小明购物->结账->回家;在结账这个环节时,需要收银员结账B这个线程来辅助完成,这时我们就可以在A线程的结账环节中插入B.join();这句话,便可以完成收银员结账这个环节,此时需要等B线程结束,A线程再继续进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值