8-25

1、线程和进程的区别?
进程:是一种“自包容”的运行程序,由操作系统直接管理,直接运行,有自己的地址空间。每个进程一开启都会消耗内存
线程:是进程内部单一的顺序控制流。一个进程拥有多个线程。多个线程共享一个进程的内存空间


2、什么是主线程?有什么特点?


主线程:main方法一运行。就产生了主线程。
主线程的特点:
(1)、最先开始
(2)、最后结束
(3)、产生其他的子线程
(4)、回收资源




3、线程创建有几种方式?
(1).继承Thread类,重写run()
(2).实现Runable接口,实现run()


4、线程如何启动?调用start方法和直接调用run方法有什么区别
调用run(),是普通方法的调用,不会产生新的线程。调用start(),表示在主线程基础上,产生一个新的子线程。这样,子线程和主线程会交替执行。


5、什么是线程优先级,优先级分为几级?
当一个或多个线程,同时处于就绪状态。优先级高的线程,会优先得到执行。优先级一共1级,数字越大,优先级越高,默认为5级。通过setPriority(int a)改变线程的优先级。


6、线程有几种状态?什么时候位于什么样的状态?
(1)新线程:通过new的方式产生一个线程对象
(2)就绪:strart一启动就进入就绪状态。之后线程每次执行在获得资源前都会进入就绪状态。
(3)运行:处于就绪状态的线程得到系统资源后就进入运行状态。
(4)睡眠:调用Thread.sleep()线程就进入睡眠状态。
(5)等待:调用Object的wait()方法
(6)挂起:调用yield(),线程显示出让CPU控制权。
(7)阻塞:等待IO事件输入,如JOptionPane输入框。
(8)死亡:线程run()方法执行完毕。


7、什么是线程同步?线程同步会造成什么结果,线程同步使用什么关键字?
线程同步:
当两个或两个以上的线程同时访问同一个资源时,为了保护资源的数据安全,只允许同一时间一个线程对该资源进行访问。
synchronized同步关键字,当该关键字修饰方法时,该方法叫做同步方法。同步方法意味着,该方法同一时间只允许一个线程访问。
同步造成的后果:
1.数据安全
2.效率地下
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值