我们要学习多线程,就不可避免的需要学习一些计算机组成的一些知识,特别是cpu和内存相关的一些知识,我用一张简单的图来描 述目前的计算机的一直基本组成:
为了完成特定任务,用某种语言编写的一个软件就是一个【程序】,程序要想运行必须加载到内存中执行。而执行程序的时候, 又需要实时的将程序指令加载到cpu的指令寄存器中执行,执行过 程中产生的数据要加载到数据寄存器当中。ALU负责进行算术逻辑 运算的操作,比如算术运算、逻辑运算、位移运算。
系统总线(英语:System Bus)是连接计算机系统的主要组件,这个技术的开发是用来降低成本和促进模块化。
创建线程的方法
在java当中创建线程有三种基本方式:
(1) 继承Thread类重写run方法
步骤:定义类继承Thread;
重写Thread类中的run方法;(目的:将自定义代码存储在run 方法,让线程运行)调用线程的start方法:(该方法有两步:启动线程,调用run方法)
public class UseThread {
public static void main(String[] args) {
System.out.println(1);
new MyTask().start();
System.out.println(3);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(4);
}
static class MyTask extends Thread{
@Override
public void run() {
System.out.println(2);
}
}
}
}
//咱们猜一下:这个程序的输出结果是 1 2 3 4 吗?
(2) 实现Runnable接口
步骤:
创建任务: 创建类实现Runnable接口
使用Thread 为这个任务分配线程
调用线程的start方法
public class UseRunnable {
public static void main(String[] args) {
System.out.println(1);
//注意,这里new的是Thread
new Thread(new Task()).start();
System.out.println(3);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(4);
}
static class Task implements Runnable{
public void run() {
System.out.println(2);
}
}
}
(3)使用Lammbda表达式
public class UseRunnable {
public static void main(String[] args) {
System.out.println(1);
//注意,这里new的是Thread
new Thread(()-
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/55119.html