Java如何实现多线程
JAVA里面
JVM(java虚拟机) 就是 一个进程
进程与进程之间是绝对互相独立
我们运行多个main方法,代表有多个JAVA进程
进程里面有线程; 一个进程里面,允许有多个线程叫多线程;
代码顺序分先后,线程的执行自己跑自己的
1:继承Thread
1 public class MyThread extends Thread{
2
3 public void run(){
4
5 //我们这个线程需要实现的功能;要完成任务
6
7 }
8 }
9
10 //1: 新建一个线程对象;
11 //2: 调用start方法;
1 package com.lv.study.pm.second;
2
3 public class Test1 {
4
5 public static void main(String[] args) {
6
7 System.out.println("1:");
8
9 Thread th1=new MyTh();
10 Thread th2=new MyTh();
11
12 //没有启动线程 只是在主线程里面调用我们的run方法
13 //th1.run();
14 //th2.run();
15
16 //启动线程
17 th1.start();
18 th2.start();
19
20 //线程优先级
21 th2.setPriority(Thread.MAX_PRIORITY);
22 th1.setPriority(Thread.MIN_PRIORITY);
23
24 System.out.println("2:");
25
26 }
27
28 }
29
30
31 class MyTh extends Thread{
32
33 public void run(){
34
35 //线程的礼让
36 Thread.yield();
37
38 for (int i = 0; i < 10; i++) {
39
40 System.out.println(this.getName()+""+i);
41 }
42 }
43 }
2:实现Runnable
1 public class MyRunable implements Runnable{
2
3 public void run(){
4
5 //做我们要做的任务;
6
7 }
8
9 }
10
11 //1:新建一个MyRunable对象;
12 //2:新建一个Thread对象(MyRunable);
13 //3:通过trhead对象来调用start方法;运行我们的线程;
1 package com.lv.study.pm.first;
2
3 public class Test2 {
4
5 public static void main(String[] args) {
6
7 //java实现多线程
8 //1:标准 Runable接口
9
10 //接口的实现着
11 Runnable r=new MyRun();
12
13
14 //2:接口的使用者 这个使用者没有实现着代表啥事情也没有干
15 Thread th=new Thread(r);
16 th.start();//启动了线程
17
18 }
19
20 }
21
22
23 //Runnable接口的实现着
24 class MyRun implements Runnable{
25
26 @Override
27 public void run() {
28
29 for (int i = 0; i < 10; i++) {
30
31 System.out.println(i);
32 }
33
34 }
35
36 }
Java如何实现多线程的更多相关文章
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- Java学习笔记-多线程-创建线程的方式
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...
- Java线程与多线程教程
本文由 ImportNew - liken 翻译自 Journaldev. Java线程是执行某些任务的轻量级进程.Java通过Thread类提供多线程支持,应用可以创建并发执行的多个线程. 应用 ...
- Java面试题-多线程
1. java中有几种方法可以实现一个线程? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口. 这两种方法的区别是,如果你的类已经继承了其它的类,那么你只能选择实现Runna ...
- Java面试09|多线程
1.假如有Thread1.Thread2.Thread3.Thread4四条线程分别统计C.D.E.F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现? 把相互独立的计算任 ...
- Java 中传统多线程
目录 Java 中传统多线程 线程初识 线程的概念 实现线程 线程的生命周期 常用API 线程同步 多线程共享数据的问题 线程同步及实现机制 线程间通讯 线程间通讯模型 线程中通讯的实现 @(目录) ...
- 2019/3/7 Java学习之多线程(基础)
Java学习之多线程 讲到线程,就必须要懂得进程,进程是相当于一个程序的开始到结束,而线程是依赖于进程的,没有进程,就没有线程.线程也分主线程和子线程,当在主线程开启子线程时,主线程结束,而子线程还可 ...
- Java编程实现多线程TCP服务器完整实例
Socket ·功能:TCP客户端套接字 ·构造方法: Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号 · ...
- Java基础之多线程框架
一.进程与线程的区别 1.定义: 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比 ...
- [Java][读书笔记]多线程编程
前言:最近复习java,发现一本很好的资料,<Java2参考大全 (第五版)> Herbert.Schildt.书比较老了,06年的,一些 ...
随机推荐
- ssh WARNING: UNPROTECTED PRIVATE KEY FILE!
前言 在 ssh -i 指定密钥文件 登录时,出现以下报错: Permissions 0644 for 'xxxx' are too open. It is required that your pr ...
- MySQL 是否可以用 Docker 容器化?
容器 容器是为了解决 "在切换运行环境时,如何保证软件能够正常运行",容器是轻量级应用代码包,它包含在任何环境中运行所需的所有元素的软件包.容器可以虚拟化操作系统,包含依赖项,例如 ...
- BUUCTF---robomunication
略有抽象,第一次接触直接上题解吧
- 客户端“自废武功”背后的深层秘密——CORS跨域是怎么回事?
客户端"自废武功"背后的深层秘密--CORS跨域是怎么回事? 嘿,对于刚入门的开发新手,你是不是曾经遇到过这样的情况:你正在愉快地开发一个 Web 应用,代码写得热火朝天,前后端配 ...
- shared_ptr的线程安全性与再论cmu15445 project0的COW线程安全字典树
shared_ptr的线程安全性 近期在网上冲浪时看到一篇boost的文章,里面聊到了shared_ptr的线程安全性 https://www.boost.org/doc/libs/1_87_0/li ...
- IIS7配置301永久重定向
我把我的小域名www.taadis.com301永久重定向到taadis.com. 关键图解:
- TortoiseGit安装(Windows10环境)
1.前往官网下载 https://tortoisegit.org/download/ 根据自己系统位数进行选择 2.双击运行 3.默认即可,第一个是基于PuTTY的SSH客户端,与Windows兼容更 ...
- 在 ASP.NET Core 中编写高性能 Web API 的4个小技巧
Web API 通常用来与外部模块进行通信.发送和接收数据,作为后端开发人员,应该把写出高性能的应用作为目标. 下面 4 个技巧是我在编写 Web API 的小技巧. 1 .大量数据使用分页查询 接口 ...
- SpringBoot3启动报错 java.lang.ClassNotFoundException: java.text.ListFormat
问题 在使用SpringBoot3创建web项目的时候日志报错java.lang.ClassNotFoundException: java.text.ListFormat. 具体报错如下: java. ...
- struts2——Action的三种编写方式
Action有三种编写方式POJO方式.实现Action接口.继承ActionSupport类 推荐采用继承ActionSupport类这种方式.因为这个类的功能比较丰富. 方式一:POJO方式 pa ...