有两瓶水,只有一个人的话一次只能喝一瓶,要么交替喝要么喝完一瓶再喝另一瓶,总之是不可能同时喝完的,这就是并发;如果有两个人呢?那不就可以两瓶水一起喝了?这就是并行。
进程
点击一个应用就会产生一件事情,例如执行java程序,这件事情就是一个进程。
线程
一个应用下有多种操作,每执行一个操作便会产生一个路径 ( 指针?) ,这路径便称之为线程。
创建线程程序
- 定义Tread子类,在子类中定义run()方法,将需要执行多线程的程序在run()中书写。在主程序中定义类对象,执行类对象的start()方法,便会执行run()中的代码。
- 实现Runnable接口,然后将实现Runnable接口的子类对象传递给Tread对象,然后调用Tread对象的start()方法。
使用实现Runnable接口的方式程序相关性降低,同时避免单继承的限制(个人认为这才是关键点)。
-
getName()获取线程名称,写在run()里面生效。
-
Trread.currentTread()获取当前线程。
-
setName()设置线程名,是在线程类对象的方法。
-
设置线程名字可以直接传参一个字符串构造,字符串内容便是线程名。
-
sleep ( millisecond ) 休眠一个异常,休眠时间为millisecond,单位是毫秒。