Java ---多线程1
来源:互联网 发布:mysql存储过程 编辑:程序博客网 时间:2024/06/16 11:06
Java 多种线程的创建方法
1:new Thread().start();
new Thread() { public void run() { //需要执行耗时的事件 }.start();
new Thread() 方法被称为野线程,而且可以无限制创建,之间相互竞争,会导致过多占用系统资源导致系统瘫痪,不利于扩展。
优点:书写简单
缺点:只能执行一次,复用性不高。
2:extends Thread
class MyThread extends Thread { //调用父类带参数的构造方法 MyThread (Object obj){ super(obj); } @Override public void run() { }}.....Thread myThread1 = new MyThread(); // 创建一个新的线程 myThread1.start();
优点:比起1,2的方法可以多次创建,调用,创建灵活
缺点:扩展性不强,线程继承了Thread类,不能再继承其他父类
**3**implements Runnable
class myRunable implements Runnable { private int shareResource;//共享资源 @Override public void run() { }}......myRunable loadRunnable = new myRunable ();Thread myThread1 = new Thread(loadRunnable);Thread myThread2 = new Thread(loadRunnable);myThread1 .start();myThread2 .start();
优点:创建一个资源,可以供多个线程来执行
缺点:书写复杂
Thread主要函数
run() //线程运行时所执行的代码
start() //启动线程
sleep(long millis) //线程休眠,交出CPU,让CPU去执行其他的任务,然后线程进入阻塞状态,sleep方法不会释放锁
yield() //使当前线程交出CPU,让CPU去执行其他的任务,但不会是线程进入阻塞状态,而是重置为就绪状态,yield方法不会释放锁
join(long millis) //等待线程终止,直白的说 就是发起该子线程的线程 只有等待该子线程运行结束才能继续往下运行
wait() //交出cpu,让CPU去执行其他的任务,让线程进入阻塞状态,同时也会释放锁
interrupt() //中断线程,自stop函数过时之后,我们通过interrupt方法和isInterrupted()方法来停止正在运行的线程,注意只能中断已经处于阻塞的线程
getId() //获取当前线程的ID
getName() //获取线程的名
setName() //设置线程的名
getPriority() //获取线程的优先级 一般用1-10的整数表示,默认优先级是5,优先级最高是10,优先级高的线程被执行的机率高
setPriority() //设置线程优先级
setDaemon()//设置为守护线程
isDaemo() //判断是否是守护线程
currentThread()//静态函数获取当前线程
- Java学习:多线程(1)
- JAVA多线程机制1
- Java多线程程序设计1
- java多线程[1]
- java 多线程1
- java多线程 [1]
- java多线程学习1
- java 多线程1
- Java多线程-1
- java多线程 - 1
- Java 多线程1
- java多线程基础知识1
- Java多线程(1)
- JAVA进阶-多线程(1)
- Java多线程1
- java 多线程笔记1
- java多线程基础1
- Java多线程<1>
- configure: error: no acceptable C compiler found in $PATH 问题解决
- Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory'
- Spring各个jar包作用
- 利用python进行数据分析——p26,"一定要以pylab模式”打开如何解决
- springmvc登陆例子详情解析
- Java ---多线程1
- input输入框回车事件响应
- Gson的使用
- New Day
- Kubernetes
- CentOS7部署ss
- 【剑指offer】替换空格
- 小程序开发工具不显示tobar图标
- Java Jxl Excel 操作总结5(项目实例二)