多线程详细解说,代码
来源:互联网 发布:战龙三国刘备进阶数据 编辑:程序博客网 时间:2024/06/07 02:40
多线程
进程: 就是可执行的应用程序.
线程: 进程的执行单元,可以理解为进程的一条执行路径.
线程和进程关系:
进程是执行中的程序,进程本身不会运行,是线程的容器。一个程序至少有一个进程,一个进程至少有一个线程.
多线程: 进程有多个执行路径.
原理: CPU做着高效的切换.多线程的执行具有随机性和延迟性.
线程状态:
1)就绪:指线程具备运行的所有条件,逻辑上可以运行,在等待处理机
2)运行:指线程占用处理机正在运行
3)阻塞:线程在等待一个事件,逻辑上不可执行
线程的实现一: 继承thred类,重写run()方法
public class MyThread extends Thread {
public void run() {
System.out.println("MyThread.run()");
}
}
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread1.start();
myThread2.start();
线程的实现二:实现Runnable接口创建线程
public class MyRunnable implements Runnable {
public void run() {
System.out.println("MyThread.run()");
}
}
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
进程: 就是可执行的应用程序.
线程: 进程的执行单元,可以理解为进程的一条执行路径.
线程和进程关系:
进程是执行中的程序,进程本身不会运行,是线程的容器。一个程序至少有一个进程,一个进程至少有一个线程.
多线程: 进程有多个执行路径.
原理: CPU做着高效的切换.多线程的执行具有随机性和延迟性.
线程状态:
1)就绪:指线程具备运行的所有条件,逻辑上可以运行,在等待处理机
2)运行:指线程占用处理机正在运行
3)阻塞:线程在等待一个事件,逻辑上不可执行
线程的实现一: 继承thred类,重写run()方法
public class MyThread extends Thread {
public void run() {
System.out.println("MyThread.run()");
}
}
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread1.start();
myThread2.start();
线程的实现二:实现Runnable接口创建线程
public class MyRunnable implements Runnable {
public void run() {
System.out.println("MyThread.run()");
}
}
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
阅读全文
0 0
- 多线程详细解说,代码
- 迷宫代码实现 --- 详细解说每一步
- 代码解说多线程互斥与同步通信问题
- 软件版本号详细解说
- 详细解说STL string
- 详细解说STL string
- string详细解说
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- 详细解说STL string
- poj2777——Count Color
- 关于python的库包的安装
- 类型转换构造函数
- 关于webview的使用详解
- 数据库 Navicat for MySQL 换种思维解决插入同时更新数据
- 多线程详细解说,代码
- 里式替换
- 使用python matplotlib库绘制不同图标类型
- 利用单例+观察者设计一个简易的分发/订阅消息机制
- 【 面试算法5分钟
- 计算两个GPS坐标的方位与距离
- jvm内存原理
- Java学习
- Linux多线程编程之线程之间的参数传递