多线程

多线程的概念

多线程,说白了就是多条执行路径,原来是一条路径,就主路径(main),现在是多 条路径。

程序、进程与多线程

程序是指令的集合,代码的集合;而进程是动态的概念,当程序在执行时,系统分配进 程;多线程是在同一进程下,充分利用资源 ,多条执行路径,共享资源
注意:很多多线程是模拟出来的,真正的多线程是指有多个 cpu,即多核,如服务器。如 果是模拟出来的多线程,即一个 cpu 的情况下,在同一个时间点,cpu 只能执行一个代码, 因为切换的很快,所以就有同时执行的错觉。

多线程优缺点

优点 :
资源利用率更好;程序设计在某些情况下更简单;程序响应更快
缺点:
1.设计更复杂虽然有一些多线程应用程序比单线程的应用程序要简单,但其他的一般 都更复杂
2.上下文切换的开销 当 CPU 从执行一个线程切换到执行另外一个线程的时候,它需要 先存储当前线程的本地的数据,程序 指针等,然后载入另一个线程的本地数据,程序指针 等,最后才开始执行。这种切换称为“上下文切 换”,如果没有必要,应该减少上下文切换的发生

创建线程

1.创建 Thread 的子类

  创建: 继承 Thread +重写 run 
  启动: 创建子类对象 对象.start()

2.实现 Runnable 接口

 创建: 实现 Runnable +重写 run 启动:静态代理 Thread 
 a)、创建真实角色 实现类对象 
 b)、创建代理角色 Thread 对象+真实角色的引用 
 c)、代理角色.start()

3.实现 callable接口

Callable规定的方法是call()
Callable的任务执行后可返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值