- 博客(7)
- 收藏
- 关注
原创 java学习笔记 多线程练习题总结
一、判断题1. C和Java都是多线程的。 ( )答案:错误 知识点:C 是单线程语言。2.如果线程死亡,它便不能运行。 ( )答案:正确 知识点:线程死亡就意味着它不能运行。3.在 Java 中,高优先级的可运行线程会抢占低优先级线程。( )答案:正确 知识点:线程优先级的使用。4.程序开发者必须创建一个线程去管理内存的分配。( )答案:错误 知识点:Java 提供了一个系统线程来管理内存的分配。...
2020-10-22 11:36:53 1666
原创 java学习笔记 jdk5新增的创建线程方式 - Callable接口和线程池
* 创建线程的方式三:实现Callable接口。 --- JDK 5.0新增*** 如何理解实现Callable接口的方式创建多线程比实现Runnable接口创建多线程方式强大?* 1. call()可以有返回值的* 2. call()可以抛出异常,被外面的操作捕获,获取异常的信息* 3. Callable是支持泛型的需要借助FutureTask类,比如获取返回结果。Future接口可以对具体Runnable、Callable任务的执行结果进行取消、查询是 否完成、获取结果等。 .
2020-10-22 09:47:19 71
原创 java学习笔记 线程通信
* 线程通信的例子:使用两个线程打印 1-100。线程1, 线程2 交替打印** 涉及到的三个方法:* wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。* notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。* notifyAll():一旦执行此方法,就会唤醒所有被wait的线程。示例代码:class Number implements Runnable{ private int number.
2020-10-22 09:32:28 90
原创 java学习笔记 死锁与锁Lock
死锁的演示代码:class A { public synchronized void foo(B b) { //同步监视器:A类的对象:a System.out.println("当前线程名: " + Thread.currentThread().getName() + " 进入了A实例的foo方法"); // ①// try {// Thread.sleep(200);// } catch (InterruptedException ex) {// ex.print
2020-10-21 11:26:49 67
原创 java学习笔记 多线程 - 使用同步机制将单例模式中的懒汉式改写为线程安全的
问题描述:使用同步机制将单例模式中的懒汉式改写为线程安全的。class Bank{ private Bank(){} private static Bank instance = null; public static Bank getInstance(){ //方式一:效率稍差// synchronized (Bank.class) {// if(instance == null){////
2020-10-21 11:14:54 119
原创 java学习笔记 窗口售票问题 - 线程同步机制
问题描述:创建3个窗口卖票,票数为100张。使用继承Thread类的方式实现,存在线程安全问题,待解决:class Window extends Thread{ private static int ticket = 100; @Override public void run() { while(true){ if(ticket > 0){ System.out.println.
2020-10-21 11:09:35 325 2
转载 java学习笔记 2020/10/21 Thread类中的方法
Thread中的常用方法: 1. start():启动当前线程;调用当前线程的run() 2. run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 3. currentThread():静态方法,返回执行当前代码的线程 4. getName():获取当前线程的名字 5. setName():设置当前线程的名字 6. yield():释放当前cpu的执行权 7. join():在线程a中调用线程b的join(),此时线程a就进入阻塞状态,直到线程b完全.
2020-10-21 10:30:09 52
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人