摘要:
Cinema——List<Integer>数据结构存储电影院座位 很简单的一个例子,但是体会到了线程同步,也学会使用容器的一些常用方法。 阅读全文
摘要:
Java在多线程中使用同步锁机制时,一定要注意锁对对象,下面的例子就是没锁对对象(每个线程使用一个被锁住的对象时,得先看该对象的被锁住部分是否有人在使用) 例子:两个人操作同一个银行账户,丈夫在ATM机上操作,妻子在银行柜台操作 账户类:账户里面有100万 ATM机类:里面存在一个Acount对象和 阅读全文
摘要:
开启多线程时,每一个线程都拥有自己的工作空间,每个工作空间都单独的和主存打交道。 并发的概念:多个线程同时操作同一个对象 当产生并发时,如果从工作空间写入数据到内存的线程时间片用完了,其他线程再从主存读数据就会形成数据不统一。(只会在写数据时出现问题,简单的读数据是不会出现问题的)比如:教室里面只有一台电脑,大家都去使用,第一个同学使用后(时间片用完了)但是自己的任务还没完成,数据还没取出来,第... 阅读全文
摘要:
join在线程里面意味着“插队”,哪个线程调用join代表哪个线程插队先执行——但是插谁的队是有讲究了,不是说你可以插到队头去做第一个吃螃蟹的人,而是插到在当前运行线程的前面,比如系统目前运行线程A,在线程A里面调用了线程B.join方法,则接下来线程B会抢先在线程A面前执行,等到线程B全部执行完后 阅读全文
摘要:
相同点: 让线程暂停运行。 都是静态方法,可以直接调用。 不同点: sleep让线程从运行状态进入阻塞状态,但是不放开手中的资源。 yield让线程从运行状态进入就绪状态,释放手中资源,再次等到CPU调度。 阅读全文
摘要:
JDK8的新特性之一Lambda能将函数作为方法里面的参数使用。 外部类——>静态内部类——>局部内部类——>匿名内部类——>Lambda Lambda的局限性:仅合适只有一个方法的接口(简单接口,Runnable接口里面就只有一个方法run())。 阅读全文
摘要:
Java编程强大的工具IDEA使用教程及一些快捷键收藏如下: https://blog.csdn.net/fanrenxiang/article/details/80503490 阅读全文
摘要:
实现多线程方式1:继承类Thread——重写方法run——调用方法start 从网络下载图片首先要增加包commons-io.jar 实现多线程方式2:实现Runnable——重写run()方法——new Thread( 实现了Runnable接口的对象 ).start 下载工具类和上面一样,实现多 阅读全文