首页 > 编程语言 > 详细

进程与线程的总结

时间:2019-11-11 22:41:31      阅读:66      评论:0      收藏:0      [点我收藏+]

1、什么是多任务处理?多任务处理有几种形式?
一个任务没有完成时,又在进行别的任务。
形式:进程和线程。

2、线程和进程的区别?
进程是一个自包含的应用程序,基于操作系统空间。每个进程都有自己独立的运行空间。每个进程一开启,都会消耗内存。
线程是进程内部的顺序控制流,是能独立运行的程序片段,多个线程共享一个进程内存空间。

3、创建线程有几种方式?如何启动线程?调用start()和调用run()的区别?
继承thread的类,重写run()方法;实现runnable接口,实现run()方法
启动线程:用start()方法。
调用start()方法,是启动线程,会在主线程之外,再在创建子线程,是多个任务同时执行。
调用run()方法,是普通方法调用,不会在主线程之外,创建子线程,是单任务处理。

4、线程有几种状态?
新建--就绪--运行--死亡
休眠、挂起、等待、阻塞

5、什么是线程优先级?分为几级?
当两个或两个以上的线程同时处于就绪状态时,优先级高的线程,会优先得到CPU的执行。 分为10级,数字越大,优先级越高

6、什么是线程同步?同步会造成什么结果?
当两个或两个以上的线程,同时访问一个对象时,为了保护数据的安全,同一时间只允许一个线程进行访问。这称为线程同步,也称为线程安全。
后果:1、数据安全 2、效率低下

7、wait和sleep的区别?
Wait()方法和sleep()方法,都能让线程暂时停止运行。但是他们使用的方式和时机是不同的。
1、sleep()方法在线程类Thread中定义,wait()方法在object中定义。
2、wait()方法只能放在同步方法或同步块中,表示当前线程对资源进行等待。Sleep方法可以放在任何位置,表示当前线程休眠。
3、wait()方法要释放对象锁,sleep()方法不会释放对象锁。
4、wait()方法使用后,线程需要notify唤醒后才能继续执行。而sleep在休眠结束后,线程自动继续执行。

进程与线程的总结

原文:https://www.cnblogs.com/lh-lh/p/11838928.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!