java学习day23
来源:互联网 发布:当涂到马鞍山网络大学 编辑:程序博客网 时间:2024/06/06 07:21
一 多线程
(1)就是应用程序有多条执行路径。
进程:就是正在运行的程序。
线程:就是进程的执行路径,执行单元。
(2)如何使用多线程程序:
b:重写Thread类的run()方法。
run()方法里面才是封装线程的代码。
c:通过调用start()方法启动线程并调用run()方法。
代码体现:
public class MyThread extends Thread
{
public void run()
{
for(int x=0; x<100; x++)
{
System.out.println(getName()+"---"+"hello"+x);
}
}
}
public MyThreadTest
{
public static void main(String[] args)
{
MyThread my1 = new MyThread();
MyThread my2 = new MyThread();
my1.start();
my2.start();
}
}
b:重写run()方法
c:创建实现类对象,并把它作为参数传递给Thread类的构造方法,创建Thread对象
d:通过Thread的对象执行
代码体现:
public class MyRunnable implements Runnable
{
public void run()
{
public void run()
{
for(int x=0; x<100; x++)
{
System.out.println(Thread.currentThread().getName()+"---"+"hello"+x);
}
}
}
}
public class MyRunnableTest
{
public static void main(String[] args)
{
MyRunnable my = new MyRunnable();
Thread t1 = new Thread(my);
Thread t2 = new Thread(my);
t1.start();
t2.start();
}
}
(3)线程的随机性原理
多个程序其实是CPU的在做着高效切换执行的。
(4)线程的生命周期
新建
就绪
运行
阻塞
死亡
(5)线程安全问题
a:有共享数据
b:共享数据被多条语句操作
c:在多线程环境中
(6)线程安全问题的解决方案:
A:同步代码块
synchronized(锁对象)
{
被同步的代码
}
B:同步方法
把synchronized加在方法上。
(1)就是应用程序有多条执行路径。
进程:就是正在运行的程序。
线程:就是进程的执行路径,执行单元。
(2)如何使用多线程程序:
A:方式1
继承Thread类。
a:创建类继承Thread类b:重写Thread类的run()方法。
run()方法里面才是封装线程的代码。
c:通过调用start()方法启动线程并调用run()方法。
代码体现:
public class MyThread extends Thread
{
public void run()
{
for(int x=0; x<100; x++)
{
System.out.println(getName()+"---"+"hello"+x);
}
}
}
public MyThreadTest
{
public static void main(String[] args)
{
MyThread my1 = new MyThread();
MyThread my2 = new MyThread();
my1.start();
my2.start();
}
}
B:方式2
实现Runnable接口
a:创建一个类实现Runnable接口b:重写run()方法
c:创建实现类对象,并把它作为参数传递给Thread类的构造方法,创建Thread对象
d:通过Thread的对象执行
代码体现:
public class MyRunnable implements Runnable
{
public void run()
{
public void run()
{
for(int x=0; x<100; x++)
{
System.out.println(Thread.currentThread().getName()+"---"+"hello"+x);
}
}
}
}
public class MyRunnableTest
{
public static void main(String[] args)
{
MyRunnable my = new MyRunnable();
Thread t1 = new Thread(my);
Thread t2 = new Thread(my);
t1.start();
t2.start();
}
}
(3)线程的随机性原理
多个程序其实是CPU的在做着高效切换执行的。
(4)线程的生命周期
新建
就绪
运行
阻塞
死亡
(5)线程安全问题
a:有共享数据
b:共享数据被多条语句操作
c:在多线程环境中
(6)线程安全问题的解决方案:
A:同步代码块
synchronized(锁对象)
{
被同步的代码
}
B:同步方法
把synchronized加在方法上。
0 0
- java学习day23
- java学习day23
- 传智播客-Java学习笔记day23
- File类递归练习+JAVA学习笔记-DAY23
- 传智播客学习日记Day23
- day23/ChatDemo.java
- day23/IPDemo.java
- day23/TcpCopyMp3.java
- day23/TcpCopyText.java
- day23/TcpDemo2.java
- day23/TcpDemo.java
- day23/TcpTest.java
- day23/UdpDemo1.java
- day23/UdpDemo.java
- [Java视频笔记]day23
- day23
- day23
- day23
- Android4.0新增的 网格布局:计算器
- 最近的一次敏捷项目Scrum经验总结
- Fedora下搭建gtk开发环境(2014-12-20)
- 10316 - Airline Hub
- xcode Analyze进行代码静态检查
- java学习day23
- 【树形DP】 HDOJ 5148 Cities
- mac OS X日常操作
- java 获取某年某月的最大天数
- 【树状数组】 HDOJ 5147 Sequence II
- 【Eclipse工具】Eclipse中代码中自动增加注释
- 为什么允许以text/html发送XHTML 1.0文档?
- xcode 基本操作
- svn常用命令