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年的,一些 ...
随机推荐
- centos安装JDK11
(一)建立目录 mkdir /home/jdk11 (二) 上传JDK的离线liunx包 cd /home/jdk11 示例:jdk-11.0.19_linux-x64_bin.tar.gz (三) ...
- Proxmox VE安装CentOS 8.3
相信玩服务器/VPS的对CentOS一定不陌生,CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本.因为是免费的,现在很多WEB服务器和VPS都经常使 ...
- 多主机网络下 Docker Swarm 模式的容器管理
分类专栏: Services/Server Management Linux Basics Linux资讯 http://www.linuxprobe.com/thread版权导读 本文将以多主 ...
- Oracle chr() ascii()
函数简介 实用函数 chr() 和 ascii() chr() 函数将ASCII码转换为字符: ASCII码 –> 字符: ascii() 函数将字符转换为ASCII码: 字符 –> AS ...
- AIR724UG上电后引脚的默认电平
使用AIR724UG的引脚作为继电器的控制引脚时,由于上电时引脚的电平有的高,有的低. 在某些场合我们希望GPIO上电默认是低电平,所以我将常用引脚中可用的引脚标注了出来.
- 短信接口被刷爆:我用Nginx临时止血
最近,朋友公司遇到了一件让他们"寝食难安"的事:他们的短信验证码接口被人盯上了,充进去的钱没多久就被刷得一分不剩.不充钱,业务直接受影响:但充钱吧,就像往无底洞里灌水.他们联系短信 ...
- Scrcpy使用入门
1.下载Scrcpy GitHub地址:https://github.com/Genymobile/scrcpy 网盘地址:https://pan.baidu.com/s/1NKosSkQJLbmhz ...
- AQS的release(int)方法底层源码
一.定义 release(int) 是 AQS(AbstractQueuedSynchronizer)中的一个核心方法,用于在独占模式下释放同步状态.如果释放成功,则会唤醒等待队列中的后继节点,使其有 ...
- mybatis-plus之配置安全
1. 环境 SpringBoot 2.6.x 2. 介绍 MyBatis-Plus 从3.3.2版本开始提供了数据安全保护功能,MyBatis-Plus 支持通过加密配置来增强数据库的安全性. 3. ...
- zookeeper选主机制
Zookeeper选主机制 一.Server工作状态 每个Server在工作过程中有四种状态: LOOKING:竞选状态,当前Server不知道leader是谁,正在搜寻. LEADING:领导者状态 ...