线程
来源:互联网 发布:mac 的破折号 编辑:程序博客网 时间:2024/06/06 02:51
一.实现线程的两种方式:
1.继承自Thread:
1).自定义类,继承自Thread类;
2).重写run();
3).启动线程:
1>.实例化自定义线程对象;
2>.调用start()方法启动线程;
2.实现Runnable接口:
1).自定义类,实现Runnable接口;
2).重写run()方法;
3).启动线程:
1>.实例化自定义对象;
2>.实例化Thread对象,将自定义对象作为参数传递给Thread的构造方法;
3>.调用Thread的start()启动线程;
二.线程的控制:
1.线程名称:
Thread中的方法:
setName();
getName();
2.线程优先级:
setPriority(int n):注意:n的范围1--10,默认5;
getPriority();
3.线程休眠:
sleep():静态方法;
4.线程加入:
join():
5.线程礼让:
yield():
6.线程中断:
stop();
interrupt();
7.守护线程:
setDaemon():设置守护线程(主线程结束,守护线程也会结束,但不会立即结束,有个小缓冲)
8.获取当前正在访问的线程:
Thread中的静态方法:
currentThread():获取当前线程对象;
三.线程的同步:
1.同步的方式:
1).同步代码块:
synchronized(被锁的对象){
}
2).同步方法(常用):
public synchronized void show(){
}
1.继承自Thread:
1).自定义类,继承自Thread类;
2).重写run();
3).启动线程:
1>.实例化自定义线程对象;
2>.调用start()方法启动线程;
2.实现Runnable接口:
1).自定义类,实现Runnable接口;
2).重写run()方法;
3).启动线程:
1>.实例化自定义对象;
2>.实例化Thread对象,将自定义对象作为参数传递给Thread的构造方法;
3>.调用Thread的start()启动线程;
二.线程的控制:
1.线程名称:
Thread中的方法:
setName();
getName();
2.线程优先级:
setPriority(int n):注意:n的范围1--10,默认5;
getPriority();
3.线程休眠:
sleep():静态方法;
4.线程加入:
join():
5.线程礼让:
yield():
6.线程中断:
stop();
interrupt();
7.守护线程:
setDaemon():设置守护线程(主线程结束,守护线程也会结束,但不会立即结束,有个小缓冲)
8.获取当前正在访问的线程:
Thread中的静态方法:
currentThread():获取当前线程对象;
三.线程的同步:
1.同步的方式:
1).同步代码块:
synchronized(被锁的对象){
}
2).同步方法(常用):
public synchronized void show(){
}
0 0
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- 线程
- #学习笔记#(9)JavaScript书写规范
- 点击按钮控制div前后运动——定时器应用
- VisualVM无法运行提示找不到java
- 加分二叉树
- zzulioj 1808: 小d的翻转游戏 【思维 队列模拟】
- 线程
- Redis的Java客户端Jedis设计思路
- 装饰模式
- 谈谈transition
- Installing and Testing cygwin
- JAVA 基础知识
- ViewPager+Fragment 优化左右侧滑时的卡顿
- React-Native_学习笔记1: Unable to resolve module Dimensions from “...js” Invalid directory /Users/node_m
- 26. Magento 常用(1)