什么是多线程
在一个应用程序中,同时,有多条不同的执行路径
多线程好处
提高程序效率
线程与进程
线程是进程的一条执行路径,进程是线程的集合
线程同步、异步
线程同步表示,当前线程执行完后下个线程接着执行
线程异步表示,在一个应用程序中同时有多条不同执行路径 例如 javaweb, ajax, android
线程间如何同步
线程之间同步使用 synchronized、wait 与 notify
什么是线程不安全?如何解决?
就是多个线程共享同一个数据会受到其它线程的干扰,
解决:使用线程同步技术,互斥锁(synchronized), 让一个线程执行完了,再让另一个线程执行
如何创建一个线程,有几种方法
继承 Thread 类,实现 run 方法;实现 Runnable 接口, 重写 run 方法;实现 Callable 接口,重写 call 方法
是使用 Runnable 接口好,还是继承 Thread 类好
是实现 Runnable 接口好,因为实现了接口还可以继承其它类,而继承了 Thread 类就不能继承其它类
sleep() 和 wait() 有什么区别
sleep() 是让线程休眠指定时间,然后继续工作,不释放锁
wait() 是让当前线程等待,直到程序通知 notify() 唤醒它才会继续工作,释放锁