博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 中的多线程简单介绍
阅读量:5081 次
发布时间:2019-06-12

本文共 1723 字,大约阅读时间需要 5 分钟。

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();    }}

 

转载于:https://www.cnblogs.com/ZXF6/p/11122455.html

你可能感兴趣的文章
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>
Mysql数据库备份和还原常用的命令
查看>>
关于退出当前页面在火狐的一些问题
查看>>
【项目实施】项目考核标准
查看>>
spring-aop AnnotationAwareAspectJAutoProxyCreator类
查看>>
经典入门_排序
查看>>
Redis Cluster高可用集群在线迁移操作记录【转】
查看>>
二、spring中装配bean
查看>>
VIM工具
查看>>
javascript闭包
查看>>
@Column标记持久化详细说明
查看>>
创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备...
查看>>
mysql8.0.13下载与安装图文教程
查看>>
站立会议08(冲刺2)
查看>>
url查询参数解析
查看>>
http://coolshell.cn/articles/10910.html
查看>>
[转]jsbsim基础概念
查看>>
DIV和SPAN的区别
查看>>