线程的创建
来源:互联网 发布:c语言自定义标识符 编辑:程序博客网 时间:2024/06/05 08:09
每个线程要执行的任务再run方法中实现。因此run方法是线程的任务处理逻辑的入口,它由java虚拟机再运行相应的线程时直接调用,而不是由应用代码调用。启动线程:Thread类的start方法是启动相应的线程。启动一个线程的实质是请求java虚拟机运行相应的线程,而这个线程具体何时能够运行是由线程调度器(scheduler)决定的。因此start方法调用结束并不意味着相应的线程已经开始运行,这个线程可能稍后会运行,也可能不会被运行。创建线程的方法:extends Thread和implements Runnable。run方法执行结束包括正常结束以及代码抛出异常而导致的中止。运行结束的线程所占有的资源会被java虚拟机垃圾回收。线程属于“一次性用品”,不能通过重新调用一个已经运行结束的线程start方法来使其重新运行。多次调用同一个线程实例的start方法会抛出IllegalThreadStateException异常。创建线程与创建其他对象的区别:java虚拟机会为每个线程分配调用栈(call stack)所需的内存空间。调用栈用于跟踪java代码(方法)间的调用关系以及java代码对本地代码(native code,通常是C代码)的调用。另外,java平台中的每个线程可能还有一个内核线程与之对应。因此相对来说,创建线程对象比创建其他类型的对象成本要高一点。
阅读全文
0 0
- 线程之线程的创建
- 线程的创建方法
- 创建安全的线程
- 线程的创建
- 线程的创建。。。
- 线程的创建
- 线程的创建
- 线程的创建
- 创建线程的方法
- java线程的创建
- c++线程的创建
- 线程的创建-停止
- 线程的创建
- Java线程的创建
- 线程的创建
- 线程的创建使用
- 线程的创建
- 线程的创建
- CSUACM月赛 1970
- use shadowsocks sync android source code
- 变色DNA
- 最大流 紧急疏散evacuate
- 在构造函数中避免资源泄漏
- 线程的创建
- 阅读A Discriminative Feature Learning Approach for Deep Face Recognition
- BZOJ 1088: [SCOI2005]扫雷Mine 题解
- 考研函数总结心得
- Event事件对象之媒体事件
- strsep() 函数
- 【STM32】 keil软件介绍--工程目标选项配置(上)
- 远程连接工具的使用之SSH Secure
- 收拾行装,再出发