3332人加入学习
(13人评价)
Java编程学习第四季

制作完成于2018年5月19日 使用JDK 8

价格 免费

适用于这个线程代码只在某个地方使用一次:

图二17-18可以简化成:

new Thread(r,"匿名内部类线程").start();

[展开全文]

当我们调用ti.start(0方法的时候,ti会调用t里面的run方法。所以就需要把t传递给t1.

[展开全文]

1.线程的休眠设置:

在哪个方法调用休眠就让该方法休眠指定时间(毫秒)

2.线程的加入:

因为t1是属于子线程在main方法调用,当调用完之后,因为在main方法加入:t1.join();,所以t1就会变成当前线程。

t1.join();//当t1加入到当前线程中,就是加入到主线程中,就是放在主线程中去继续执行。

守护线程:因为t2是守护线程,当t1运行完之后,系统需要反应时间,当t2运行到47的时候,系统检测到系统运行中只有守护线程t2,就会把t2杀死掉。

先让t1运行,接着Thread线程进行sleep状态,时间为一毫秒,最后把t1进行stop。

 

中断线程stop和interrupted的区别:

前者是直接中断,没有任何提示,导致无法释放占用资源;后者是会给予提示(boolean类型),这样就可以释放资源,再中断。

[展开全文]

要想启动多个线程,不可以重复使用start,除非创建多个对象。04:03

第二种改名方式:

[展开全文]

Thread.currentThread()可以获取当前方法的主线程,也可以获取zhu线程。

[展开全文]

线程调度:分时调度、抢占式调度(按照优先级)

要有线程对象,通过该对象才可以获取优先级。

下面是获取子线程的优先级;

MyThread thread=new MyThread();

System.out.println(thread.getPriority());

 

[展开全文]

cpu给每个线程分配时间片,去执行每个线程中的代码,进而看起来每个进程都在进行着。(例子:厨师同一时间煮duo men cai)

[展开全文]

当我们调用start,系统会自动调用run方法。(因为MyThread是继承自Thread)。

这个时候,我们只是单独调用run方法,调用完之后才运行for循环,没有体现多线程同时运行。

 

为什么创建线程类需要使用继承方法?

因为线程类thread只有run方法,这个run方法并没有做什么事,所以我们需要通过继承来对这个方法进行重写。

[展开全文]

一个程序就是一个进程,计算机是支持多进程的。

[展开全文]

breakpoint断点

debug排除错误

当我们遇到一个方法的时候,step into会进去这个方法去执行;step over就是跳过这个方法,把这个方法执行完。

[展开全文]

单线程无法同时进行两个方法,多线程可以同时进行多个方法。

[展开全文]

输出流:

第一步创建socket对象,指定IP地址和端口号

第二部创建输出流对象,用socket对象获取输出流

第三步 用输出流对象的write方法写入输出流内容

第四步关闭输出流

 

[展开全文]

线程的休眠

  Thread.sleep(2000);   单位是毫秒

线程的加入

(线程的对象名).join();   当这个线程执行完后在执行下面的线程而不用抢CUP处理

守护线程

(线程的对象名).setDaemon(true);

需要在被守护的线程前调用

终止线程

(线程的对象名).stop ()

中断线程

(线程的对象名).interrupt()

[展开全文]

一个类同时执行两个线程可以新建两个对象  分别来调用start()方法 

列如:

Student s1 = new Studnet();

s1.start();

Student s2 = new Studnet();

s2.start();

获取线程的名字使用 (对象名).getName();

设置线程的名字可以使用(对象名).setName();

也可以通过对象的构造方法来改变线程的名字

列如:

Student st = new Student("线程1");

[展开全文]

(继承了线程的对象).getPriority();  获取优先级

Thread.currentThread();  获取当前线程的主线程

(继承了线程的对象).setPriority;   设置优先级

优先级的范围在1-10之间

[展开全文]

授课教师

SiKi学院老师

课程特色

下载资料(1)
视频(57)

学员动态

a147258369 加入学习
ADGS 加入学习
兢兢叶叶 加入学习