1.Thread类中常用方法
Thread类常用方法 |
描述 |
start() |
启动当前线程,调用当前线程的run()方法。 |
run() |
通常需要重写该方法,将线程要执行的操作写在此方法中。 |
currentThread() |
静态方法,返回执行当前代码的线程。 |
getName() |
获取当前线程的名字。 |
setName() |
设置当前线程的名字。 |
yield() |
释放当前CPU的执行权。 |
join() |
在线程a中调用线程b的join(),此时线程a就进入了阻塞状态,直到线程b完全执行完以后,线程a才结束阻塞状态。 |
stop() |
此方法已过时,用于强制结束当前线程。 |
sleep(long millitime) |
使当前线程阻塞millitime毫秒。1秒 = 1000毫秒 |
isAlive() |
判断当前线程是否存活。 |
Thread类常用方法
| ```java |
| public class Test { |
| |
| private int priority; |
| |
| public final static int MIN_PRIORITY = 1; |
| |
| public final static int NORM_PRIORITY = 5; |
| |
| public final static int MAX_PRIORITY = 10; |
| |
| public synchronized void start() { |
| if (threadStatus != 0) |
| throw new IllegalThreadStateException(); |
| group.add(this); |
| |
| boolean started = false; |
| try { |
| start0(); |
| started = true; |
| } finally { |
| try { |
| if (!started) { |
| group.threadStartFailed(this); |
| } |
| } catch (Throwable ignore) { |
| } |
| } |
| } |
| |
| @Override |
| public void run() { |
| if (target != null) { |
| target.run(); |
| } |
| } |
| |
| public static native Thread currentThread(); |
| |
| public final String getName() { |
| return name; |
| } |
| |
| public final synchronized void setName(String name) { |
| checkAccess(); |
| if (name == null) { |
| throw new NullPointerException("name cannot be null"); |
| } |
| |
| this.name = name; |
| if (threadStatus != 0) { |
| setNativeName(name); |
| } |
| } |
| |
| public static native void yield(); |
| |
| public final void join() throws InterruptedException { |
| join(0); |
| } |
| |
| @Deprecated |
| public final void stop() { |
| SecurityManager security = System.getSecurityManager(); |
| if (security != null) { |
| checkAccess(); |
| if (this != Thread.currentThread()) { |
| security.checkPermission(SecurityConstants.STOP_THREAD_PERMISSION); |
| } |
| } |
| if (threadStatus != 0) { |
| resume(); |
| } |
| stop0(new ThreadDeath()); |
| } |
| |
| public static native void sleep(long millis) throws InterruptedException; |
| |
| public final native boolean isAlive(); |
| } |
| </details> |
| |
| |
| 用户线程:运行在前台,main线程。 |
| 守护线程:运行在后台,为前台线程提供服务,如垃圾回收。 |
| |
| 参考:[Java用户线程和守护线程](https://www.cnblogs.com/myseries/p/12078413.html "Java用户线程和守护线程") |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本