Thread(多线程类)

多线程

  • 进程: 通俗的来说,每一个程序都是一个进程,比如:QQ,360,谷歌。

  • 线程: 每一个程序中都有多个功能,每一个功能都可以看成是一个线程。

Thread的使用

  • 继承子类建立线程
    对于每一个线程,都是可以通过类继承Thread来完成的。
ublic class Thread_one {public static void main(String[] args) {Ter it = new Ter();//start开始运行线程中的方法it.start();}
}
class Ter extends Thread{@Override//run方法里面的方法是线程的主方法public void run() {for (int i = 0; i <100; i++) {if(i%2==0){System.out.println(i);}}}
}
  • 内部对象类
 new Thread() {@Overridepublic void run() {System.out.println("牛逼");}}.start();}
  • 带参数的构造方法
class Ter extends Thread{@Override//run方法里面的方法是线程的主方法public void run() {for (int i = 0; i <100; i++) {if(i%2==0){System.out.println(i);}}}public
}
  • 接口创建多线程

用类来继承runable继承,在主方法中创建runable继承的类的对,在用这对象作为参数,去实现thead类。

public class Thread_runable {public static void main(String[] args) {Mythread_runable w=new Mythread_runable();Thread it1=new Thread(w);Thread it2=new Thread(w);Thread it3=new Thread(w);it1.run();it2.run();it3.run();}}
class Mythread_runable implements Runnable{int ticket=100;@Overridepublic void run() {while (true){if(ticket>0){System.out.println(Thread.currentThread().getName()+"卖出的车票"+ticket);}else {break;}ticket--;}}
}

用接口的方式建立买票窗口,可以满足只出现一个100的要求。

线程的命名

Thread currentThread();

返回当前线程,此方法为构造方法

void setName();

设置线程的名字

String getName();

返回当前线程的名字

设置线程运行的状态

  • 睡眠(sleep)与中断(interrupt)

sleep让线程出于堵塞,不运行的状态。

  • 等待(wait)和通知(notify)
  • 等待线程(join)和谦让(yield)

join是将线程加入主方法,yield取消当前线程的执行权利。
对于join()加入的方法,主线程会行执行加入的方法,在执行,其他方法。

线程的调度

  • 不同线程的优先级不同,对于优先级高的,会抢占低的资源,就会先运行。

-getpriority()与setpriority()

Java中Thread类的详解相关推荐

  1. Java中String类intern()详解

    1.背景 在开发过程中很多朋友,由于不会正确使用intern(),导致开发的程序,执行效率比较差.同时最近发现一道非常有意思的关于intern()的面试题,这道面试题还是有不小的难度,相信很多朋友看到 ...

  2. Java中的类基础详解

    目录 可以有多个类,但是只能由一个public类 类 = 字段 + 方法 类的构造 没写构造函数时 写构造函数时 构造函数中this的用法 1.this指当前这个对象本身 2.this解决局部变量和域 ...

  3. Java中 String类的详解(非常全面细致)

    博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,

  4. Java中的main()方法详解

    源文作者:leizhimin    源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...

  5. Java 中的伪共享详解及解决方案

    转载自  Java 中的伪共享详解及解决方案 1. 什么是伪共享 CPU 缓存系统中是以缓存行(cache line)为单位存储的.目前主流的 CPU Cache 的 Cache Line 大小都是 ...

  6. Java中的static关键字详解

    ** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...

  7. java中的进制输出转换_Java I/O : Java中的进制详解

    作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...

  8. java中properties作用,Java中Properties的使用详解

    Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支 持的配置文件,配置文件中很多变量是经常改变的,这样做也 ...

  9. java中list和map详解

    java中list和map详解 一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedL ...

最新文章

  1. JAVA设计模式之命令模式
  2. 四十而不惑——DNA测序技术的前世今生和未来
  3. Servicehot和你说说运维自动化的那些事儿
  4. Andorid的Linux基础教学之四 进程的生死存亡
  5. openssl aes加解密的使用
  6. 【推荐】由浅入深学FI—获利能力分析
  7. mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表
  8. 关于优酷开放SDk之setOnVideoIndexUpdateListener
  9. 【Java线程】互斥 同步 异步 并发 多线程的区别与联系
  10. [js] 如何判断两个对象相等?
  11. 实战:RediSearch 高性能的全文搜索引擎
  12. axios_json-server的介绍与服务器搭建---axios工作笔记002
  13. Vlan与VTP的介绍及工作原理
  14. [洛谷P1082]同余方程
  15. (素材源码)猫猫学IOS(十)UI之_NSTimer_ios计时器
  16. 架构真经 | 那些年,我们踩过的缓存坑
  17. bmp图片批量改成jpg
  18. 今日恐慌与贪婪指数为25 等级转为极度恐慌
  19. 使用arduino驱动光驱步进电机
  20. foxmail皮肤_确实很棒!Foxmail 7.1邮箱客户端体验

热门文章

  1. Sqlserver 动态sql语句 和 use 关键字
  2. 开学必备清单好物大合集!超适合学生党开学的实用好物大全
  3. RFID机场推车电子标签的使用-RFID机场手推车资产管理追踪解决方案-新导智能
  4. glance修改镜像
  5. 上海科达(科远)科技测试工程师面试题
  6. 【瑞萨RA系列FSP库开发】串口烧录(Renesas Flash Programmer)
  7. 进博会指定传神提供智能翻译硬件,多举措保障语言服务全覆盖
  8. C语言用数组实现集合的交集、并集、差集、补集
  9. Mysql进阶学习(四)分组函数与分组查询
  10. 写一段51单片机的避障小车代码