黑马程序员技术交流社区
标题:
多线程到底有几种实现方法???都是些什么?还有就是...
[打印本页]
作者:
赵鸿富
时间:
2013-3-17 17:24
标题:
多线程到底有几种实现方法???都是些什么?还有就是...
本帖最后由 赵鸿富 于 2013-3-17 19:51 编辑
多线程到底有几种实现方法???都是些什么?还有就是同步有几种方法?是什么???
作者:
张善颖
时间:
2013-3-17 17:32
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify
作者:
刘海浩
时间:
2013-3-17 17:57
实现线程有两种 继承Thread类或者实现Runnable接口...
实现同步也有两种,一种是用同步方法,一种是用同步块.. 同步方法就是在方法返回类型后面加上synchronized, 比如:public void synchronized add(){...}同步块就是直接写:synchronized (这里写需要同步的对象){...}
作者:
郭利超
时间:
2013-3-17 18:23
多线程有3种实现方法 继承Thread 类、实现Runnable 接口和创建线程池(JDK1.5之后才有的)实现多线程
synchronized,wait与notify 可以实现同步 其实还有很多可以实现同步的方法 这个就需要经验的积累了
作者:
炉海佳
时间:
2013-3-17 19:21
本帖最后由 炉海佳 于 2013-3-17 19:25 编辑
一.多线程有两种方法,一种是继续Thread类,另外一种是实现Runable接口。
1.继承Thread类
class Test extends Thread//继续Thread类
{
private String name;
public Test(String name) {
this.name = name;
}
public void run()//要执行的代码
{
for (int i = 0; i < 5; i++) {
System.out.println(name + "线程运行 " + i);
}
}
public static void main(String[] args) {
Test h1=new Test("aaa");
Test h2=new Test("bbb");
h1.start(); //开启线程
h2.start(); //开启线程
}
}
2.实现Runnable接口
class Test implements Runnable //实现Runnable接口
{
private String name;
public Test(String name) {
this.name = name;
}
public void run() //要执行的代码
{
for (int i = 0; i < 5; i++) {
System.out.println(name + "线程运行 " + i);
}
}
public static void main(String[] args)
{
Test h1=new Test("aaa");
Thread demo1= new Thread(h1);
Test h2=new Test("bbb");
Thread demo2= new Thread(h2);
demo1.start(); //开启线程
demo2.start(); //开启线程
}
}
都是调用start方法运行run方法,不过一般都是用实现runnable接口,因为它适合多个相同的程序代码的线程去处理同一个资源。
二.同步也有两种,同步代码块和同步方法。
1.同步代码块
synchronized(同步对象)
{
//这里面是需要同步的代码
}
2.同步方法
例如:
public synchronized void sale()// 用在方法主题上
{
//里面是代码
}
作者:
陈丽莉
时间:
2013-3-17 19:29
若还有问题,请继续追问,或完善问题;没有的话,请将帖子分类改成【已解决】~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2