网站建设列入什么会计科目,wordpress视频防止下载文件,没有场地可以注册公司吗,wordpress插件上传图片创建线程的两种方法
1.继承Thread类 2.实现Runnable接口
线程从创建到消亡分为新建、就绪、运行、阻塞、死亡5种状态。
新建状态
创建一个线程就处于新建状态。此时线程对象已经被分配了内存空间#xff0c;并且私有数据也被初始化#xff0c;但是该线程还不能运行。
就…创建线程的两种方法
1.继承Thread类 2.实现Runnable接口
线程从创建到消亡分为新建、就绪、运行、阻塞、死亡5种状态。
新建状态
创建一个线程就处于新建状态。此时线程对象已经被分配了内存空间并且私有数据也被初始化但是该线程还不能运行。
就绪状态
在处于新建状态的线程中调用start()方法可以将线程状态转换成就绪状态即启动线程。此时线程已经得到除cpu时间之外的其他系统资源只等待JVM的线程调度器按照线程的优先级对该线程进行调度从而使该线程拥有获得cpu时间片的机会。
运行状态
运行状态表示线程被调度并且获得了CPU的控制权。此时会自动调用该线程对象的run()方法并且这个线程会一直运行到结束除非该线程主动放弃CPU的控制权或者CPU控制权被优先级更高的线程抢占。处于运行状态的线程就会让出CPU控制权。
阻塞状态
一个正在执行的线程在某些特殊情况下可能会被人挂起让出CPU。暂时中止执行进入阻塞状态。例如调用sleep()、wait()等方法线程都将进入阻塞状态。线程阻塞时不能进入就绪队列只有在某些事件唤醒线程后线程才能重新进入就绪队列而处于就绪状态。
死亡状态
正常情况下run()方法返回会使得线程终止调用stop()方法或destory()方法也能终止线程但不推荐使用这两个方法因为stop()方法会使程序产生异常而destory()方法强制终止线程不释放内存会造成内存泄漏。