Java中Thread类的详解
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类的详解相关推荐
- Java中String类intern()详解
1.背景 在开发过程中很多朋友,由于不会正确使用intern(),导致开发的程序,执行效率比较差.同时最近发现一道非常有意思的关于intern()的面试题,这道面试题还是有不小的难度,相信很多朋友看到 ...
- Java中的类基础详解
目录 可以有多个类,但是只能由一个public类 类 = 字段 + 方法 类的构造 没写构造函数时 写构造函数时 构造函数中this的用法 1.this指当前这个对象本身 2.this解决局部变量和域 ...
- Java中 String类的详解(非常全面细致)
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
- Java中的main()方法详解
源文作者:leizhimin 源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...
- Java 中的伪共享详解及解决方案
转载自 Java 中的伪共享详解及解决方案 1. 什么是伪共享 CPU 缓存系统中是以缓存行(cache line)为单位存储的.目前主流的 CPU Cache 的 Cache Line 大小都是 ...
- Java中的static关键字详解
** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...
- java中的进制输出转换_Java I/O : Java中的进制详解
作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...
- java中properties作用,Java中Properties的使用详解
Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支 持的配置文件,配置文件中很多变量是经常改变的,这样做也 ...
- java中list和map详解
java中list和map详解 一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedL ...
最新文章
- JAVA设计模式之命令模式
- 四十而不惑——DNA测序技术的前世今生和未来
- Servicehot和你说说运维自动化的那些事儿
- Andorid的Linux基础教学之四 进程的生死存亡
- openssl aes加解密的使用
- 【推荐】由浅入深学FI—获利能力分析
- mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表
- 关于优酷开放SDk之setOnVideoIndexUpdateListener
- 【Java线程】互斥 同步 异步 并发 多线程的区别与联系
- [js] 如何判断两个对象相等?
- 实战:RediSearch 高性能的全文搜索引擎
- axios_json-server的介绍与服务器搭建---axios工作笔记002
- Vlan与VTP的介绍及工作原理
- [洛谷P1082]同余方程
- (素材源码)猫猫学IOS(十)UI之_NSTimer_ios计时器
- 架构真经 | 那些年,我们踩过的缓存坑
- bmp图片批量改成jpg
- 今日恐慌与贪婪指数为25 等级转为极度恐慌
- 使用arduino驱动光驱步进电机
- foxmail皮肤_确实很棒!Foxmail 7.1邮箱客户端体验