多线程和并发程序中常遇到的有Memory-intece、竞争条件、死锁、活锁和饥饿。问题是没有止境的,如果你弄错了,将很难发现和调试。这是大多数基于面试的,而不是基于实际应用的Java线程问题。
补充的其它几个问题:
1) 在java中绿色线程和本地线程区别?
2) 线程与进程的区别?
3) 什么是多线程中的上下文切换?
CPU 时间片轮询方式,cpu给每个线程都服务一定时间,然后保存当前线程状态,加载下一个状态.....过程
上下文:
所谓线程的上下文是指由用户地址空间的内容、硬件寄存器的内容以及与该线程有关的内核数据结构组成的。更加严格的讲,线程的上下文是由它的用户级上下文、寄存器上下文以及系统级上下文组成。
4) 死锁与活锁的区别,死锁与饥饿的区别?
5) Java中用到的线程调度算法是什么?
6) 在Java中什么是线程调度?
7) 程中你怎么处理不可捕捉异常?
Thread.setUncaughtExceptionHandler();
而不一定会处理或是立即处理,那么发起子线程的方法可以把子线程抛出的异常实例收集起来作为一个Exception的List返回给调用方,由调用方来根据异常情况决定如何应对。不过要特别注意的是,此时子线程早以终结。
8) 什么是线程组,为什么在Java中不推荐使用?
9) 为什么使用Executor框架比使用应用创建和管理线程好?
10) 在Java中Executor和Executors的区别?
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-35307-3.html
考验党维护祖国领土不受外来侵略的时候到了
哈哈----经济学家算帐只算好的一面
小王子
为何这位这样说