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