java 中的多线程简单介绍
package com.zxf.demo;
/*
* 多线程的实现方式两种?
* 一、.实现 runnable 接口
* 2.重写run方法 Run():当一个线程启动后,就会自动执行该方法
* 3.在主方法中new一个 java 对象 Demo01 demo01=new Demo01();
* 4.将其放在 thread中 Thread t1=new Thread(demo01);
* 5.调用start方法 t1.start();
*
* 使用麻烦
* 避免了单继承的局限性
*
*二、继承Thread父类:
* 缺点:单继承的局限性
* 优点:使用方便
*
*
三、五种状态?
* 创建 就绪 运行 阻塞 死亡!
*
*
四、 常用方法?
* 1.setpriority(int newPriority) 更改优先级。增大可能性。【1-10】5
* 2.sleep (); 休息一会 让线程
* 3.void join(); 强制的让某一个线程 先执行完 类似于插队的效果!
* 4.thread.yield(); 礼让的方法,让当前线程礼让别的线程,有可能成功。和join的方法很像。
* 5.void interrupt() 中断线程
* 6.boolean isAlive() 测试线程是否处于活动状态
* 7.Thread.currentThread().getName() 获得该线程的名字
*
五、线程同步的问题?
解决方法 1.同步方法
2.同步代码块 六、启动一个线程是run()还是start()?它们的区别?
Start方法是将线程启动起来,遵循生命周期的运行流程的,
按照该方法启动的线程才可以轮番被cpu调度,随机执行,
但是run方法就是一个普通方法,若调用该方法,就没有将该线程进去启动,也就没有线程运行的先决条件了,
所以该线程就不会再轮番的被cpu进行调度了
*/
public class Demo01 implements Runnable{ @Override
public void run() {
for (int i = 0; i <30; i++) {
System.out.println("当前运行的线程:"+Thread.currentThread().getName()+"----"+i);
} }
public static void main(String[] args) {
Demo01 demo01=new Demo01();
Demo01 demo02=new Demo01(); //创建了你定义的线程类的线程对象。
Thread t1=new Thread(demo01); //默认名字 Thread-0
Thread t2=new Thread(demo02, "哈哈"); //给线程 起名字 t1.start();
t2.start();
} }
java 中的多线程简单介绍的更多相关文章
- java中数据流的简单介绍
java中的I/O操作主要是基于数据流进行操作的,数据流表示了字符或者字节的流动序列. java.io是数据流操作的主要软件包 java.nio是对块传输进行的支持 数据流基本概念 “流是磁盘或其它外 ...
- Java中NIO的简单介绍
NIO基本介绍 Java NIO(New IO) 也有人称之为Java non-blocking IO 是从Java1.4版本开始引入的一个新的IO API,可以代替标准的IO API.NIO与原来的 ...
- 多线程(三) java中线程的简单使用
java中,启动线程通常是通过Thread或其子类通过调用start()方法启动. 常见使用线程有两种:实现Runnable接口和继承Thread.而继承Thread亦或使用TimerTask其底层依 ...
- Java中的多线程技术全面详解
本文主要从整体上介绍Java中的多线程技术,对于一些重要的基础概念会进行相对详细的介绍,若有叙述不清晰或是不正确的地方,希望大家指出,谢谢大家:) 为什么使用多线程 并发与并行 我们知道,在单核机器上 ...
- iOS开发多线程篇—多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...
- 【转】Java中的多线程学习大总结
多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的. 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程 ...
- Java中的 多线程编程
Java 中的多线程编程 一.多线程的优缺点 多线程的优点: 1)资源利用率更好2)程序设计在某些情况下更简单3)程序响应更快 多线程的代价: 1)设计更复杂虽然有一些多线程应用程序比单线程的应用程序 ...
- Java中的多线程=你只要看这一篇就够了
如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其 ...
- 详细分析 Java 中实现多线程的方法有几种?(从本质上出发)
详细分析 Java 中实现多线程的方法有几种?(从本质上出发) 正确的说法(从本质上出发) 实现多线程的官方正确方法: 2 种. Oracle 官网的文档说明 方法小结 方法一: 实现 Runnabl ...
随机推荐
- 【剑指Offer】合并两个排序的链表 解题报告(Python)
[剑指Offer]合并两个排序的链表 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interview ...
- CS5211替代PS8625|设计DP转LVDS转接板|替代PS8625方案
1.CS5211与PS8625功能概述 CS5211是一个eDP到LVDS转换器,配置灵活,适用于低成本显示系统.CS5211与eDP 1.2兼容,支持1通道和2通道模式,每通道速度为1.62Gbps ...
- 自动化集成:Pipeline整合Docker容器
前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述流水线集成Docker用法. 一.背景描述 微服务架构 ...
- VUE的学习_从入门到放弃(一)
一.vue的功能及作用 工作方式如下 1.不用操作DOM 2.单页面应用web项目 简称:SPA 3.当下各种新框架都采用的类似Vue或者类似React的语法去作为主语法,微信小程序/MpVue... ...
- Flink sql 之 两阶段聚合与 TwoStageOptimizedAggregateRule(源码分析)
本文源码基于flink1.14 上一篇文章分析了<flink的minibatch微批处理>的源码 乘热打铁分析一下两阶段聚合的源码,因为使用两阶段要先开启minibatch,至于为什么后面 ...
- nginx及依赖包安装分享 百度网盘(pcre+openssl+zlib)
链接:https://pan.baidu.com/s/1gggq1p-uZSmAw49o5xfl4g 提取码:ypoj 复制这段内容后打开百度网盘手机App,操作更方便哦 1.安装pcre 解压:ta ...
- 初识python 之 爬虫:爬取中国天气网数据
用到模块: 获取网页并解析:import requests,html5lib from bs4 import BeautifulSoup 使用pyecharts的Bar可视化工具"绘制图表& ...
- scp 文件传输
1.推送 scp -r imageAPP/ root@ip:/data/soft/ 本地当前文件下的 imageAPP文件 推送到ip服务器 /data/soft/ 目录下 2.拉取 scp -r r ...
- C# 使用vs2017 创建类 时 注意点
1.创建新类后,在其他类无法new 这个新创建的类 ,怎么回事? 原因很简单,创建类时不带修饰符,默认是被保护的类 上图为创建类后的默认代码 ,没有修饰符 ,在其他类中无法引入改类的命名空间,会显示找 ...
- 第10组 Beta冲刺 (2/5)(组长)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14015412.html ·作业博客:https://edu.cnblogs.co ...