多线程基本知识(一)

a.为什么使用多线程?

   为了提高程序效率。

b.创建线程的两种方式

    1.继承Thread类  2.实现Runnable接口(a.面向接口编程 b.接口可以多重实现)

c.多线程api

    getId() 拿到线程id

    getName() 拿到线程名称

    start()启动线程   stop()停止线程

    join()   当前线程等待join方法的线程完成后,才能继续向下运行

    

    sleep()

    这里就要注意因为sleep是一个静态方法,因此和线程对象是无关的,要看他现在在哪个栈内存中,也就是看他当前在哪个线程中,很明显他现在主线程中,主线程调用类中的main方法,所以也就是当t1.start()后,t1线程已经开始运行,当2s后运行主线程中的输出语句“Hello world” 

运行结果

   

d.守护线程

e.多线程的几种状态

1.synchronized锁定的是对象。

2.线程重入问题

3.synchronized执行过程中,如果抛异常,默认会自动释放锁

猜你喜欢

转载自blog.csdn.net/qianxiaopeng/article/details/84260529