2. Java中线程理解。
3. thread 中的run和start理解Java run start_落小渔的博客-CSDN博客
4. thread和runnable?5. 如何获取线程返回结果?【多线程】Thread和Runnable区别_Smily-王婷婷-CSDN博客_thread和runnable区别
如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。
main函数,实例化线程对象也有所不同,
extends Thread :t.start();
implements Runnable : new Thread(t).start();
使用Runnable,增加程序的健壮性,代码可以被多个线程共享,代码和数据独立
线程池只能放入实现Runable或callable类线程,不能直接放入继承Thread的类
用来判断传给的Callable里面的call方法是否已经完成。
当前get方式是用来阻塞的。知道call方法执行完毕
同get。增加了一个超时机制
6. 线程的状态使用线程池获取返回值:
7. sleep和wait的区
需要在第一个第二个线程中间新增sleep。保证第一个先执行
8. notify 和 notifyAll区别?没有参数的情况下,需要主动唤醒才可以呢
我们可以在B线程执行结束的时候,选择唤醒。上面notify也可以是notifyAll
9. yield 10. 如何中断线程?notify、notifyAll:会将唤醒等待池中的某个/全部线程到等待池子中
11. 线程状态?
12. synchronized?
13. 线程池
JUC的源码里面:
看看ThreadPollExecutor:
继续查看:
所以:说明上面几类的起源是一致的。都是Excutor。。。
Executor框架:是根据一组执行策略调用。调度、执行、控制的异步任务的框架。
目的是提供一种将任务提交和任务运行分离开的框架
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)