java学习之进程和线程
2011-02-14 21:42
225 查看
进程和线程
在多任务系统中,每个独立执行的程序称为进程
一个进程又可以包含一个或多个线程,一个线程就是一个程序内部的执行线索,如果要 一程序中实现多段代码同时交替运行,就需产生多个线程,并指定每个程序所要运行的程序代码段
Thread.currentThread().getName(); 返回当前线程对象
new Thread().start(): start() 开始启用线程,调用线程的run()方法;
用Thread类创建线程
要将一段代码放在一个新的线程上执行,该代码应该在Thread类的子类的run()函数中
run()方法执行完毕,该线程结束
Runnable接口 : 实现该接口的类能作为参数传递给Thread()类
Synchronized(){} 同步代码块 如果 Synchronized 放在函数修饰前面,则为同步函数
如:
class producer implements Runnable
{
Q q;
public producer(Q q)
{
this.q=q;
}
public void run()
{
int i=0;
while(true)
{
synchronized(q)
{
if(bFull)
wait();
if(i==0)
{
q.name="zhangsan";
try{Thread.sleep(1);}catch(Exception e){}
q.sex="male";
}
else
{
q.name="lisi";
q.sex="female";
}
notify();
}
i=(i+1)%2;
}
}
}
class Consumer implements Runnable
{
Q q;
public Consumer(Q q)
{
this.q=q;
}
public void run()
{
while(true)
{
synchronized (q)
{
if(!q.bFull)
wait();
System.out.println(q.name);
System.out.println(":"+q.sex);
notify();
}
}
}
}
class Q
{
String name="unknown";
String sex="unknown";
}
class ThreadComunation
{
public static void main(String [] args)
{
Q q= new Q();
new Thread(new producer(q)).start();
new Thread(new Consumer(q)) .start();
}
}
相关文章推荐
- Java学习笔记之进程和线程
- 今天学习了JAVA程序、线程、进程的区别
- 【幻化万千戏红尘】qianfengDay21-java基础学习:进程、线程、Timer
- 03-java学习笔记【进程与线程】
- java学习记录(15)——线程与进程
- JAVA学习笔记49——线程概念+进程、线程区别+创建进程三种方法
- Java____进程、线程学习、处理器调度(转)
- Java____Synchronized++之前线程进程学习链接
- java学习5---Java 的多线程,程序、进程和线程的概念
- java学习笔记-线程和进程-黑马
- java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- JAVA学习37_同一进程中的线程究竟共享哪些资源
- Java学习笔记3-进程与线程
- Java多线程与并发学习之(一):进程与线程
- JAVA学习笔记50——线程状态+停止进程+阻塞进程
- java 多线程学习笔记之进程和线程
- <JAVA学习笔记4>——进程、线程简单介绍
- Java学习之进程和线程
- Java多线程学习总结——线程与进程的概念、区别与联系
- Java并发学习笔记(1) 线程与进程