(线程池)day13javaSE基础查漏补缺

1.线程池用的是队列思想,

1)栈思想在存取中有并发问题。

2)原因如下:长时间获取不到任务,线程是会被销毁的

2.对象监视器

锁对象,叫对象锁,也叫同步锁,还叫对象监视器

3.notify唤醒等待时间最久的线程。

等级最高的呢?

4.要用同一个锁对象,调用wait和notify方法。

wait,会释放锁对象,

sleep不会释放锁对象

5.线程一带走了锁,然后遇到wait进入了无限等待,

然后wait抢到走了锁还给了锁对象,

这样线程二拿到锁去唤醒线程一

那锁对象还在线程二手里?

6.好好学习一下泛型

7.Callable 和 Future接口的区别

Callable规定的方法是call(),而Runnable规定的方法是run().
Callable的任务执行后可返回值,而Runnable的任务是不能返回值的。
call()方法可抛出异常,而run()方法是不能抛出异常的。
运行Callable任务可拿到一个Future对象, Future表示异步计算的结果。
它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。
通过Future对象可了解任务执行情况,可取消任务的执行,还可获取任务执行的结果。
Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务

8.callable可以start嘛

可以

public static void main(String[] args) throws InterruptedException, ExecutionException {		
	MyCallable<String> mc=new MyCallable<String>();
	FutureTask<String> ft=new FutureTask<String>(mc);
	new Thread(ft).start();
	String result=ft.get();
	System.out.println(result);
}

9.next()和nextLine()的区别详解

10.多线程怎么debug?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值