安全编程(四)

1.什么是线程,什么是进程?

        进程是执行的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程,线程又叫作轻量级进程。

2.创建线程的几种方法?你最喜欢哪一种?为啥?

        继承Thread类、实现Runnable接口

        实现Runnable接口更受程序员欢迎,因为它不需要继承Thread类。

3.概述的解释下线程的几种状态

       就绪(Runnable):线程准备运行,但不一定就能开始执行;

       运行(Running):线程执行;

       等待中(Waiting):线程处于阻塞状态,等待外部处理结束;

       睡眠中(Sleeping):线程被强制睡眠;

       I/O阻塞(Blocked on I/O):等待I/O操作完成;

       同步阻塞(Blocked on Sychronization):等待获取锁;

       死亡(Dead):线程完成了执行。

4.sychronized关键字

       在Java语言中,每一个对象有一个锁。线程可以使用Sychronized关键字来获取对象上的锁。

5.死锁(DeadLock)

       两个进程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是两个进程都陷入了无限的等待中。(用不用我给您讲一个例子?)

6.如何确保N个进程访问N个资源同时又不导致死锁?

       使用多线程的时候,一种非常简单的避免死锁的方法就是:指定获取锁的顺序,并强制线程按照指定的顺序获取锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值