java 学习笔记第二周 第四天

1.进程和线程
进程:独立的CPU 占用时间,独立的内存占用空间。一个进程可以装载多个线程
线程:位于进程中,是进程中的一条链,多线程可以并发执行。
进程是一次核算,线程就像开的多个通道,可以提高软件的执行效率。

  1. 线程
    2.1 线程 首先要创建类,这个类要继承(extends)Thread,然后重写run()方法,然后创建实列,对象名.start();开始执行线程。注意:mian 函数要看做是一个默认的主线程。
public class MytextThread {
public  static void main(String []args)
{
	TextThread t1=new TextThread(100);
	TextThread t2=new TextThread(1000);
	t1.start();
	t2.start();
	System.out.println("main线程");
}
}
class TextThread  extends Thread{
	private int count;
TextThread(int count)

{
	this.count=count;
}
public void run()
{
	int x=0;
	for(int i=0;i<=count;++i)
		x+=i;
	try
	{
		Thread.sleep(1000);
	}catch(InterruptedException e)
	{
		e.printStackTrace();
	}
	System.out.println("运算结果:"+x);
}


}


2.2 使用多线程售票肯能会出现一票两卖,卖出负数的票,原因:当线程执行操作时并没有同步到其他的
synchronized 同步锁,就是不允许在我没销售完,你去销售。
有同不代码块

  1. CountDownLatch
    4.线程的生命周期
    线程的存在状态:
    Born(新建) TextThread t=new TextThread(100);
    ready(就绪) start() 方法被调用就进入状态
    running(运行) run 方法进入运行状态
    sleep(睡眠) 线程在运行时可以让其睡眠一会。 线程对象可以直接调用sleep来让线程进入睡眠状态
    waiting (等待) 有一个方法叫wait 等着别人呼叫再起来.
    suspended (挂起) 临时停止中断线程的执行时就是挂起//不建议使用了
    Resume(恢复) 恢复可以恢复挂起状态 //不建议使用了
    Blocked(阻塞) 阻塞状态 就是线程等待一个事件或者一个东西被别人释放的时候才能进行。
    dead(死亡) run方法执行完成或 调用stop停止.这个线程就处于死亡状态了
    能操作的 sleep 睡眠(时间) wait 等待 yield 让线程让出控制权 isAlive 查看线程是否在存活状态。
    getState 获取当前线程的状态 setPriority 设置线程优先级1-10 10优先级最大
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值