首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java实战博客

    多线程2

    Java自带线程池 线程的提交优先级、执行优先级 猜测一下,打印的“线程测试”的两个方法 那个是多线程执行的? pool-2-thread-3 当前线程名称pool-2-thread-4 当前线程名称pool-2-thread-6 当前线程名称pool-2-thread-5 当前线程名称pool-2-thread -7 当前线程名称pool-2-thread-8 当前线程名称pool-2-thread-10 当前线程名称pool-2-thread-9 ... 当前线程名称pool-2-thread-1 当前线程名称pool-2-thread-2 ...... 当前线程名称pool-2-thread-7 当前线程名称pool-2-thread-8 当前线程名称pool-2-thread-10 当前线程名称pool-2-thread-9 源码分析 ExecutorService

    47420编辑于 2022-01-19
  • 来自专栏Ywrby

    2-多线程

    多线程概述(并发编程) 进程 程序是静止的,而运行中的程序就是进程 特征 动态性:进程是运行中的程序,要动态的占用内存,CPU和网络等资源 独立性:进程和进程之间是相互独立的,彼此有自己独立内存区域 CPU会依时为每个进程服务,由于切换速度非常快,给我们的感觉就是这些进程在同时执行,这就是并发性 并行: 同一时刻同时有多个进程在执行(多核CPU) 线程 线程属于进程,一个进程可以包含多个线程,这就是多线程 (线程是进程中的一个独立执行单元)线程的创建开销相对于进程来说比较小,线程也支持并发性 作用 提高程序效率,线程支持并发性,可以有更多机会得到CPU 多线程可以解决很多业务模型 大型高并发技术的核心技术 子线程输出:1 主线程输出:3 子线程输出:2 主线程输出:4 子线程输出:3 子线程输出:4 可以看到多线程是并发的,两个线程之间的执行顺序是完全随机的,双方都不断争抢CPU执行,并且执行过程始终向前推进 System.out.println(t1.getName()); //获取子线程的名字 Thread t2=new MyThread2(); t2.setName

    40210编辑于 2022-10-27
  • 来自专栏初见Linux

    2-2.进程通信-多线程

    3.多线程 传统的操作系统中,资源分配和CPU调度的单位是进程,即一个程序的一次执行。进程在任何时候只有一个执行现场,即称为单线程结构。 与传统操作系统中的单线程结构相对应,提出了多线程结构的概念。 (1)多线程的好处在于: ①提高应用程序响应, ②使多处理器效率更高; ③改善程序结构; ④占用较少的系统资源; ⑤把线程和远程过程调用RPC结合起来; ⑥提高了系统性能等。 2)就绪状态:线程除处理机以外的其他资源已经全部获得。 3)阻塞状态:线程在其执行过程中因某事件受阻而暂停执行。 5.线程的同步: 常用线程的同步机制有: 1)互斥锁。 2)条件变量。 2) 基于片上的互连结构。 3.操作系统对多核系统的支持 分配与调度 。 中断。 存储管理。

    80920发布于 2020-08-05
  • 来自专栏向治洪

    android多线程下载2

    在上一集中,我们简单介绍了如何创建多任务下载,但那种还不能拿来实用,这一集我们重点通过代码为大家展示如何创建多线程断点续传下载,这在实际项目中很常用. main.xml: <? </string> <string name="app_name">多线程断点续传下载</string> </resources> AndroidManifest.xml: <?

    1.1K90发布于 2018-01-26
  • 来自专栏码客

    RxJava2 多线程

    subscribeOn这个操作符指定的是Observable自身在哪个调度器上执行,而且跟调用的位置没有关系。

    66510发布于 2019-10-22
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Java多线程详解2

    Java多线程详解 Java线程:线程的同步与锁 一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 关于锁和同步,有一下几个要点: 1)、只能同步方法,而不能同步变量和类; 2)、每个对象只有一个锁;当提到同步时,应该清楚在什么上同步?也就是说,在哪个对象上同步? 2、调用同一个类中的静态同步方法的线程将彼此阻塞,它们都是锁定在相同的Class对象上。 2、线程同步方法是通过锁来实现,每个对象都有切仅有一个锁,这个锁与一个特定的对象关联,线程一旦获取了对象锁,其他访问该对象的线程就无法再访问该对象的其他同步方法。 这就是说明,这个多线程的交互程序还存在问题。究竟是出了什么问题,需要深入的分析和思考,下面将做具体分析。

    90570发布于 2018-03-15
  • 来自专栏ROBOTEDU

    【RAPID】多线程2编程

    多线程2编程,主要解释多线程编程用到的指令,数据类型和函数。

    66530发布于 2018-09-29
  • 来自专栏ROS2

    ROS2多线程节点

    下面介绍一下如何在ROS2节点中使用多线程。 使用多线程就涉及到回调组(CallbackGroup)了。 opt = rclcpp::SubscriptionOptions(); sub2_opt.callback_group = callback_group_subscriber2_; navigation2/nav2_behavior_tree/plugins/condition/is_battery_low_condition.cpp #include <string> #include "nav2_behavior_tree/plugins/condition/is_battery_low_condition.hpp" namespace nav2_behavior_tree { behavior_tree::IsBatteryLowCondition>("IsBatteryLow"); } navigation2/nav2_behavior_tree/include/nav2_

    3K00编辑于 2022-07-10
  • 来自专栏CodeNone

    多线程】线程池源码(2

    addWoker() 的末尾有这样一段代码 if (workerAdded) { t.start(); workerStarted = true; } 明显地看到这里通过start() 方法开启了多线程

    39830发布于 2021-08-10
  • 来自专栏卯金刀GG

    高并发Java(2):多线程基础

    2.2 新建线程 1 2 Thread thread = new Thread(); thread.start(); 这样就开启了一个线程。 (直接调用run其实就是一个普通的函数调用而已,并没有达到多线程的作用) run方法的实现有两种方式 第一种方式,直接覆盖run方法,就如刚刚代码中所示,最方便的用一个匿名类就可以实现。 start(); t1.resume(); t2.resume(); t1.join(); t2.join(); } } 让t1 结果输出是: 1 2 in t1 in t2 说明两个线程都争夺到了锁,但是控制台的红灯还是亮着的,说明t1,t2一定有线程没有执行完。我们dump出堆来看看 ? 发现t2一直被suspend。 join方法的意思是等待其他线程结束,就如suspend那节的代码,想让主线程等待t1,t2结束以后再结束。没有结束的话,主线程就一直阻塞在那里。

    72320发布于 2019-07-25
  • 来自专栏指点的专栏

    Java 多线程2)---- 线程的控制

    如果你对线程的一些概念还不熟悉,建议先从第一篇文章看起:Java 多线程(1)— 初识线程,当然,大神请无视这句话。 这篇文章我们来看一下 Java 多线程中对线程的控制。

    89540发布于 2019-01-18
  • 来自专栏从零学习云计算

    Java 多线程学习(2)——停止线程

    重新系统的学习一下Java多线程部分。参考书籍为《java多线程编程核心技术》。

    87430发布于 2019-05-26
  • 来自专栏痴者工良

    C#多线程系列(2):多线程锁lock和Monitor

    1,Lock lock 原型 lock 编写实例 2,Monitor 怎么用呢 解释一下 示例 设置获取锁的时效 C# 中,可以使用 lock 关键字和 Monitor 类来解决多线程锁定资源和死锁的问题 Thread thread1 = new Thread(Sum1); thread1.Start(); Thread thread2 = new Thread(Sum2); thread2.Start(); while (true) { ); } } } public static void Sum2() { 10; i++) { sum += 1; Console.WriteLine("Sum2"

    6K70发布于 2021-04-26
  • 来自专栏EdisonTalk

    .NET Core多线程 (2) 异步 - 上

    同步示意图: 异步示意图: (2)同步有什么弊端 时间片切换成本高! IO完成端口的Queue队列:PostQueuedCompletionStatus (子线程)从IO完成端口的Queue队列中获取消息:GetQueuedCompletionStatu (2) {receiveData}"); Thread.Sleep(1000); } }); thread.Start(); // 2. post 数据 var data = (IntPtr PostContent from Post", connection); return command.ExecuteReaderAsync().ContinueWith(t2 => { var reader = t2.Result; return GetContent(reader, list

    63720编辑于 2023-08-09
  • 来自专栏Android相关

    RxJava2--多线程调度Scheduler

    {Thread.currentThread().name}") emitter.onNext(1) Log.e(TAG, "Emitter onNext2. E/SelectImageActivity: Emitter onNext1...RxSingleScheduler-1 E/SelectImageActivity: Emitter onNext2. E/SelectImageActivity: onNext...2...RxComputationThreadPool-2 在发射事件后调用sleep模拟线程阻塞的操作,代码如下: Observable.create ${Thread.currentThread().name}") emitter.onNext(2) sleep() Log.e( E/SelectImageActivity: Emitter onNext2...RxComputationThreadPool-1 E/SelectImageActivity: onNext...2

    2.1K40发布于 2018-12-28
  • 来自专栏Python多线程

    2.单线程和多线程

    多线程导入多线程Thread类from threading import Thread # 线程类2.创建示例def function(): for i in range(10): 函数", i) if __name__ == '__main__': t = Thread(target=function) # 创建线程对象并给线程安排任务 t.start() # 多线程状态为可以开始工作状态 主类中同样是创建多线程子类对象,并开启线程。注意这里千万不要用run方法,否则变成了调用子类的方法,执行完毕后才会执行后面的代码,变成了类似第一条单线程例子。

    21510编辑于 2024-07-06
  • 来自专栏Python | Blog

    糗事百科_多线程demo(2)

    import requests import threading from queue import Queue from lxml import etree # 爬取糗事百科 # 多线程 //h2/text()') # print(text) item['author'] = author item

    43610发布于 2019-07-31
  • 来自专栏Golang语言社区

    多线程编程10个例子--2

    这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。 +2+3+4+......+10,1+2+3+4+......+50,1+2+3+4+......+100。 八、线程的同步   虽然多线程能给我们带来好处,但是也有不少问题需要解决。 为了文件中能够正确使用同步类,在文件开头添加: #include "afxmt.h" 定义信号量对象和一个字符数组,为了能够在不同线程间使用,定义为全局变量:CSemaphore semaphoreWrite(2,2 ); //资源最多访问线程2个,当前可访问线程数2个 char g_Array[10]; 添加三个线程函数: UINT WriteA(LPVOID pParam) { CEdit *pEdit=(CEdit

    2.3K70发布于 2018-03-23
  • 来自专栏python教程

    Python并发编程(2)——初始Python多线程

    前言 什么是多线程? 为什么需要多线程多线程的优点和缺点? ... 技术不是也不能成为空中楼阁,技术一定是要为需求服务的,什么有用,才去用什么。那么多线程对于编程人员来说,有用吗? 现在开始我们以世界上最流行的语言之一,Python为例,介绍一下多线程。 什么是多线程 多线程到底是什么呢?百科上面对于多线程的定义是指从软件或者硬件上实现多个线程并发执行的技术。 而在Python上,多线程并行目前为止只是一个美丽的梦。至于原因,后面会解释。 为什么需要多线程 为什么需要多线程?单线程编程做的好好的,又简单又好用,为什么要弄出一个多线程编程呢? 多线程的优点和缺点 要精炼的概括出多线程的优点,无非就是从为什么需要多线程这个地方入手。为什么需要多线程?为了效率和体验!所以多线程的优点无非就是: 速度更快、体验更好。 多线程的实现 现在的高级编程语言几乎是都有对多线程的支持,只是方式可能不一样。Python 从早期版本开始就内置了对多线程的支持。

    31010编辑于 2024-10-05
  • 来自专栏测试基础

    【Java多线程-2】Java线程池详解

    线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。 通过 ctl.get() 得到线程池的当前线程数,如果线程数小于corePoolSize,则调用 **addWorker(commond,true)** 方法创建新的线程执行任务,否则执行步骤22. * * 2. 判断当前任务或者从任务队列中获取的任务是否不为空,都为空则进入步骤2,否则进入步骤3 2. 线程池STOP、TERMINATED状态或workQueue为空 * 条件1与条件2同时为true,则workerCount-1,并且返回null * 注:条件2是考虑到

    1.7K40发布于 2020-09-16
领券