博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Thread.start||Thread.run
阅读量:7263 次
发布时间:2019-06-29

本文共 476 字,大约阅读时间需要 1 分钟。

线程的起动并不是简单的调用了RUN方法,而是由一个线程调度器来分别调用所有线程的RUN方法,

普通的RUN方法如果没有执行完是不会返回的,也就是会一直执行下去,这样RUN方法下面的方法就不可能会执行了,可是线程里的RUN方法却不一样,它只有一定的CPU时间,执行过后就给别的线程了,这样反复的把CPU的时间切来切去,因为切换的速度很快,所以我们就感觉是很多线程在同时运行一样.
你简单的调用run方法是没有这样效果的,所以你必须调用Thread类的start方法来启动你的线程.所以你启动线程有两种方法
一是写一个类继承自Thread类,然后重写里面的run方法,用start方法启动线程
二是写一个类实现Runnable接口,实现里面的run方法,用new Thread(Runnable target).start()方法来启动
这两种方法都必须实现RUN方法,这样线程起动的时候,线程管理器好去调用你的RUN方法.

转载于:https://www.cnblogs.com/perfy/archive/2012/09/10/2679219.html

你可能感兴趣的文章
linux shell脚本编程笔记(二): 分支结构
查看>>
[LeetCode] K-th Symbol in Grammar 语法中的第K个符号
查看>>
Java Base64 编码解码方案总结
查看>>
java 中几种常用数据结构
查看>>
[zz]kvm环境使用libvirt创建虚拟机
查看>>
王垠:不再推荐 Haskell_IT新闻_博客园
查看>>
ios开发学习--动画(Animation)效果源码分享
查看>>
Java进阶07 嵌套类
查看>>
美妙的模电2013/4/18
查看>>
转: 多线程编程指南【中文完整翻译版】
查看>>
转 SQL语句的添加、删除、修改多种方法
查看>>
【译】ISupportInitialize的用处
查看>>
Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs
查看>>
IIS中采用ISAPI-Rewrite防盗链
查看>>
【新年呈献】高性能 Socket 组件 HP-Socket v3.1.2 正式发布
查看>>
查询数据库的所有者
查看>>
Android PageAdapter翻译
查看>>
学习:erlang的不定长数据包头部。
查看>>
requirejs:杏仁的优化(almond)
查看>>
CATransition 实践
查看>>