进程与线程浅析(二)
今天主要介绍一下JAVA中,线程的使用。
首先,总结下java对线程的支持。
在JAVA中,对线程的支持主要体现在一个类(class)和一个接口(interfac)中。
即Thread类,和Runnable接口。
特点:
a)两者皆继承于java.lang包。
b)两者都有一个public void run()方法。提供线程实际工作的代码。
其次,介绍一下java中线程的创建和启动
a)线程的创建
Thread()
Thread(String name)
Thread(Runnable target)
Thread(Runnable target, String name)
b)线程的启动
void start()
再次,介绍一下线程的常用方法
a)线程休眠
static void sleep(long millis)
static void sleep(long millis, int nanos)
b)使其他线程等待当前线程终止
void join()
无参数,则其他线程需等当前线程结束才可执行
void join(long millis)
有参数,则设置其他线程等待当前线程的等待时机的阈值
void join(long mllis, int nanos)
两个参数,则更加精确
c)当前线程释放处理器资源
static void yield()
d)获取当前运行的线程引用
static Thread currentThread()
最后,写一段例程
一段介绍
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | public class Fanyoy extends Thread{ public void run(){ System.out.println(getName() + "是一家游戏公司" ); int count = 0 ; boolean isRunning = true ; while (){ System.out.println(getName() + "上线" + (++ count) + "部作品" ); if (count == 100 ) { isRunning = false ; } if (coun % 10 == 0 ) { Thread.sleep( 1000 ); } } } public static void main(String[] args){ Thread fanyoy = new Fanyoy(); fanyoy.setName( "Fanyoy" ); fanyoy.start(); Thread murong = new Thread( new Murong(), "Murongxiaopifu" ); murong.start(); } } class Murong implements Runnable( public void run(){ System.out.println(Thread.currentThread.getName() + "是一个程序员" ); int count = 0 ; boolean isRunning = true ; while (){ System.out.println(Thread.currentThread.getName() + "上线" + (++ count) + "部作品" ); if (count == 100 ) { isRunning = false ; } if (coun % 10 == 0 ) { Thread.sleep( 1000 ); } } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)