JAVA代码实现多线程的方式总结

简介: q

b. 创建线程对象:
MyThread t = new MyThread();
c. 开启线程:利用 start开启线程,jvm执行线程时会自动的
调用run
main()//略
// 创建线程对象
MyThread t = new MyThread();
// 开启线程
t.start();
// t.run();//只是普通方法的调用,不是开启线程
for(int i=1;i<=200;i++) {
System.out.println("++++++++++++++"+i);
}
System.out.println("--------main ----
end----2");
}
public static void m1() {}
}
// 线程的任务:打印输出 20行 "--------------------
--"
class MyThread extends Thread{
// 线程任务:定义在 run方法中
public void run() {
for(int i=1;i<=20;i++) {
System.out.println("---------------
--"+i);//3
}
System.out.println("哈哈哈......run方
法.");
test();
}
public void test() {
System.out.println("test被调用......");
}
}
2) 第二种方式:
a. 类 实现 java.lang.Runnable接口,实现接口中run方法
注意:实现run时,访问修饰符必须是 public
任务代码定义在run方法中
当前类代表是任务类
b. 创建目标对象:MyTarget tg = new MyTarget();
c. 创建线程对象,同时将目标对象作为参数进行传递
Thread t = new Thread(tg);
d. 开启线程:调用 start方法
t.start();// jvm默认调用run方法

相关文章
|
23天前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
301 4
|
1月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
220 115
|
1月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
163 98
|
1月前
|
Java 编译器 API
java最新版和java8的区别,用代码展示
java最新版和java8的区别,用代码展示
194 43
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
115 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
129 1
|
1月前
|
安全 Java 容器
告别空指针噩梦:Optional让Java代码更优雅
告别空指针噩梦:Optional让Java代码更优雅
325 94
|
1月前
|
安全 Java 容器
告别繁琐判空:Optional让你的Java代码更优雅
告别繁琐判空:Optional让你的Java代码更优雅
|
2月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
122 0