线程请求其他线程资源

  可以利用join方法实现这种需求另外一个线程的方法

 1 /*
 2      打酱油
 3          也就是一个线程完成它的任务,需要附加另一个线程的资源.
 4              利用join()方法实现资源的加入
 5  */
 6
 7 class Mon extends Thread {
 8
 9     @Override
10     public void run() {
11         System.out.println("发现没有酱油了,需要去买酱油");
12         Son son = new Son();
13         son.start();
14         try {
15             son.join();//利用join()方法实现,即加入资源的意思
16         } catch (InterruptedException e) {
17             // TODO Auto-generated catch block
18             e.printStackTrace();
19         }
20         System.out.println("母亲拿到儿子的酱油");
21         System.out.println("母亲做好菜一起吃饭");
22     }
23
24 }
25
26 class Son extends Thread{
27
28     @Override
29     public void run() {
30         System.out.println("儿子下楼");
31         System.out.println("去酱油的路上,打到酱油");
32         System.out.println("儿子上楼把酱油给母亲");
33     }
34 }
35
36 public class Demo13 {
37
38     public static void main(String[] args) {
39         Mon mon = new Mon();
40         mon.start();
41     }
42 }
时间: 2024-10-13 03:30:31

线程请求其他线程资源的相关文章

线程与进程&&线程私有资源

今天讨论一个问题,一同事说一个进程内线程的所有资源都能被彼此共享,我说线程私有堆栈空间不可以,为此争论了几句.今天加班用网上资源重新学习了下,以备以后查看 在多线程环境下,每个线程拥有一个栈和一个程序计数器.栈和程序计数器用来保存线程的执行历史和线程的执行状态,是线程私有的资源.其他的资源(比如堆.地址空间.全局变量)是由同一个进程内的多个线程共享. 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发

android Http请求的线程操作设计模板

http请求是耗时操作,如果把它放到主线程上,会造成UI线程阻塞,android在API8以后不允许开发者将网络耗时操作放到主线程上进行.对于开子线程进行http请求,从服务器返回的数据,需要主线程来处理,并更新UI,子线程不能更新UI,所以这里涉及到子线程和主线程的通信.android提供handler消息处理机制来实现线程通信,子线程将网络返回结果通过发送消息的形式通知主线程,主线程接收消息,处理数据,并进行UI操作,这样就实现了整个客户端向服务器发送请求并接收请求,处理请求的过程.对于子线

java使用线程请求访问每次间隔10分钟连续5次,之后停止请求

java使用线程请求访问每次间隔10分钟连续5次,收到相应的时候停止请求 package com.qlwb.business.util; /** * * * @类编号: * @类名称:RequestTask * @内容摘要: 若开发者发出了回调通知,却没有收到兑吧ok响应时,开发者需重试5次,每次间隔10分钟. * @author:鹿伟伟 * @创建日期:2016年4月15日 下午4:25:20 * @修改人: * @修改日期: * @修改描述:简单描述修改的内容 * @version 1.0.

【java线程安全与共享资源】

原文链接 作者:Jakob Jenkov 译者:毕冉 校对:丁一 java学习中,允许被多个线程同时执行的代码称作线程安全的代码.线程安全的代码不包含竞态条件.当多个线程同时更新共享资源时会引发竞态条件.因此,了解Java线程执行时共享了什么资源很重要. 局部变量 局部变量存储在线程自己的栈中.也就是说,局部变量永远也不会被多个线程共享.所以,基础类型的局部变量是线程安全的.下面是基础类型的局部变量的一个例子: public void someMethod(){ long threadSafeI

(转)同一进程中的线程究竟共享哪些资源

线程共享的环境包括:进程代码段.进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯).进程打开的文件描述符.信号的处理器.进程的当前目录和进程用户ID与进程组ID. 进程拥有这许多共性的同时,还拥有自己的个性.有了这些个性,线程才能实现并发性.这些个性包括: 1.线程ID      每个线程都有自己的线程ID,这个ID在本进程中是唯一的.进程用此来标识线程. 2.寄存器组的值       由于线程间是并发运行的,每个线程有自己不同的运行线索,当从一个线程切换到另一个线程上时,必须

同一进程中的线程究竟共享哪些资源

线程共享的环境包括:进程代码段.进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯).进程打开的文件描述符.信号的处理器.进程的当前目录和进程用户ID与进程组ID. 进程拥有这许多共性的同时,还拥有自己的个性.有了这些个性,线程才能实现并发性.这些个性包括: 1.线程ID       每个线程都有自己的线程ID,这个ID在本进程中是唯一的.进程用此来标 识线程. 2.寄存器组的值        由于线程间是并发运行的,每个线程有自己不同的运行线索,当从一个线 程切换到另一个线程上

线程中的共享资源

java语言支持两种形式的线程:互斥与协作,实现这两种方式的机制就是监视器.java虚拟机通过对象锁来实现互斥,允许多个线程在同一个共享数据上独立而互不干扰的工作.协作则是通过Object类的wait()方法和notify方法来实现的,允许多个线程为同一目标而共同工作.互斥是帮助线程在访问共享数据时不被其它线程干扰,而协作帮助线程与其它线程共同工作. 记得以前高中的时候,夏天每次下了晚自习,回到宿舍的时候,大家都想去洗个澡.但是宿舍只有一个卫生间,所以小A总是第一个冲回宿舍,跑进卫生间就把门锁上

线程锁、线程池

一.线程(IO密集型工作多线程有用) 线程: 概述: 若一个文件从上到下顺序执行,则为串行执行,整个py文件实际上是一个主线程 若多线程,则可以并行执行,同一个时刻可以运行多个代码段 给每个client请求分配一个线程,则这些线程可以同时工作 多线程.多进程: 1.一个应用程序,可以有多进程和多线程:默认是单进程.单线程 2.单进程.多线程 : 多线程:IO操作(输入输出流,文件操作)有用,因为几乎不用cpu来调度,一般用多线程来提高并发 计算型操作,需要用到cpu调度执行,一般用多进程提高并发

iOS-Senior10-多线程(子线程创建)

1.多线程概述 程序:由源代码生成的可执行应用.(eg:QQ.app) 进程:一个正在运行的程序可以看做一个进程.(eg:正在运行的QQ就是一个进程),进程用用独立运行所需的全部资源. 线程:程序中独立运行的代码段.(eg:接收QQ消息的代码) 一个进程是由一或多个线程组成.进程只负责资源的调度和分配,线程才是程序真正的执行单元,负责代码的执行. 1.1单线程 每个正在运行的程序(即进程),至少包含一个线程,这个线程就叫主线程. 主线程在程序启动时被创建,用于执行main函数. 只有一个主线程的