java学习之进程和线程
来源:互联网 发布:MS和MA知乎 编辑:程序博客网 时间:2024/05/17 04:57
进程和线程
在多任务系统中,每个独立执行的程序称为进程
一个进程又可以包含一个或多个线程,一个线程就是一个程序内部的执行线索,如果要 一程序中实现多段代码同时交替运行,就需产生多个线程,并指定每个程序所要运行的程序代码段
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学习之进程和线程
- Java学习笔记之进程和线程
- java进程和线程学习
- Java 之 线程和进程
- java 多线程学习笔记之进程和线程
- java学习初探十八之线程和进程的区别
- linux内核学习之进程和线程
- inux内核学习之进程和线程
- linux内核学习之进程和线程
- linux内核学习之进程和线程
- linux内核学习之进程和线程
- linux学习之进程,线程和程序
- linux内核学习之进程和线程
- java学习笔记-线程和进程-黑马
- Java多线程之 -- 进程和线程
- java并发编程之进程和线程
- java多线程之进程和线程
- 深入解析C++类对象的赋值复制与类型转换
- C# DataTable 导出excel (excel文件的行数可以控制/excel文件的个数可以控制)
- 用U盘做的ubuntu10.04系统盘装机后,用户登录GNOME后,数秒后系统的死机的解决
- 行级锁和表级锁
- SPC
- java学习之进程和线程
- SmartBit 知识
- 网络编程——走出"完成端口"的误区
- 自己写的古剑奇谭3D宣传画(哈哈)
- linux系统添加root密码,与更改成root登录状态
- zoj 1476 Weird Clock
- PSP版超级机器人大战A隐藏集体获得法(中文)
- 跳跃表头文件C语言
- 跳跃表实现文件C语言