首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏码猿技术专栏

    并发编程之线程协作

    并发编程之线程协作 1.1. wait / notify / notifyAll 1.1.1. 实例 1.2. 条件变量condition 1.3. 参考文章 并发编程之线程协作 wait / notify / notifyAll Object.wait()/Object.notify()/Object.notifyAll()可用于实现等待和通知。 Thread(){ public void run() { testWait(); }; }; thread1.start(); Thread thread2= new Thread(){ public void run() { testSignal(); }; }; thread2.start(); }

    37810发布于 2019-12-31
  • 来自专栏物流IT圈

    异步编程协作性多任务处理

    从操作系统的角度来看,协作式多任务只是一个执行线程,在其中,应用程序在处理多个请求/命令之间切换。 它们彼此交错,但是有一个控制线程,称为协作调度程序,其角色只是启动进程并让这些线程自动将控制权返回给它。 但是有一个黑魔法“在幕后” : 框架或编程语言使阻塞操作实现非阻塞,并将控制转移到其他一些执行线程,而不是转移到OS线程上,是在一个逻辑线程(用户 -级别线程)。 利弊: 是在应用程序级别而不是OS; 他们感觉像线程; 包括除CPU上下文切换之外的普通基于线程的编程的所有问题。 没有协作式多任务处理的程序只能使用一个处理器核心。

    99430发布于 2019-08-13
  • 来自专栏AI前沿技术

    智能体| AI coding 协作编程

    AI coding 出现后,传统项目角色分工和协作方式发生了改变。工程师不再是"写代码的人",而是"指挥 AI Agent 写代码的人"。这种转变不仅是角色的变换,更是编程范式的升级。 更有人豪言,Al coding 后,再无“古法”编程,不论对错,冲击效果确实很大。 以 AI coding 为中心,主要介绍: 1)从古法编程到 vibe coding 再到智能体编程的转变。 2)规范驱动开发SDD的新模式,以匹配AI coding的超凡编程能力。 3)几种SDD 开发工具的适用场景和选择推荐。 2,规范驱动开发SDD 在SDD中,规范不再服务于代码,而是代码服务于规范。 质量门控需求强:希望在代码生成前有明确的质量检查(宪法门禁、规范完整性验证等) • 完整制品体系:希望每个特性都有正式的spec、plan、data-model、contracts等完整文档 • 团队协作

    1.2K30编辑于 2026-03-10
  • 来自专栏JavaNew

    Java 并发编程:线程间的协作(waitnotifysleepyieldjoin)

    Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理 一、线程的状态   Java中线程中状态可分为五种 其实这个问题在《Java并发编程:Synchronized及其实现原理》一文中有提到过,wait方法是一个本地方法,其底层是通过一个叫做监视器锁的对象来完成的。 三、sleep/yield/join方法解析    上面我们已经清楚了wait和notify方法的使用和原理,现在我们再来看另外一组线程间协作的方法。 最后回答一下上面提出的问题:wait/notify/notifyAll方法的作用是实现线程间的协作,那为什么这三个方法不是位于Thread类中,而是位于Object类中?

    65520发布于 2019-05-25
  • 来自专栏HUMAN3.0

    AI编程逆天效率!Cursor+Claude协作证明1+1>2真香定律!

    今天不聊二选一,我来分享一个王炸组合用法——让Cursor和Claude“结对编程”,一边省钱一边狂提开发效率,真实项目实战亲测好用!想知道怎么把两个顶级AI工具搭配成1+1>2的研发加速器? ,再在termial里输入claude 既可以激活,并且我发现激活后,cursor神奇地感知了claude的存在会出现如上图右上角类似太阳的claude图标,你也可以点击它来激活claude,如此你的编程路上又多了一个强大的伙伴随行 好了,我会从产品全生命周期的各个关键阶段介绍,cursor和claude的协作的各自优势,看看他们是为什么会发挥1+1>2的效能 1 产品构思与设计阶段 万事开头难,这个大家都很清楚,但是产品从构思到落地 未来,我将继续探索这种模式在更复杂项目中的应用,并持续优化两者的协作流程。AI辅助开发的道路还很漫长,期待能与各位开发者同行一起交流、共同进步,挖掘出更多提升编码幸福感的方法! #AI编程 #效率

    1.2K20编辑于 2026-03-17
  • 来自专栏计算机工具

    AI编程翻车?这些技巧让你高效协作

    AI一起编程时常见的问题、原因以及解决办法 还介绍了一种新的协作模式。 现在“提示词工程”已经过时了,未来是“规范化编程”的时代。也就是说,开发者不用太纠结怎么写提示词,而是要学会制定清晰的规范,告诉AI要做什么,AI来负责具体执行。

    26710编辑于 2025-07-28
  • 来自专栏nummy

    socket编程2】TCP编程

    大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。 下面是一个客户端的例子:

    94410发布于 2018-08-27
  • 来自专栏changxin7

    2.并发编程编程

    multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。   )2、帮我们处理好锁问题。 q.full()) #满了 print(q.get()) print(q.get()) print(q.get()) print(q.empty()) #空了 View Code 生产者消费者模型 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题 ,conn2只能用于发送。 = time.time() - s2 # # print('t1>>',t1) #结果:0.5146853923797607s 进程池的效率高 # print('t2>>',t2

    1.5K20发布于 2019-08-20
  • 来自专栏Java程序猿部落

    Java并发编程,互斥同步和线程之间的协作

    互斥同步和线程之间的协作 互斥同步 Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock func1());} 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9复制代码 2. )); executorService.execute(() -> e2.func2());} 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9复制代码 4. 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9复制代码 比较 1. 线程之间的协作 当多个线程可以一起工作去解决某个问题时,如果某些部分必须在其它部分之前完成,那么就需要对线程进行协调。

    60530发布于 2019-06-03
  • 来自专栏科技记者

    《高效R语言编程》9、10--高效协作和学习

    高效协作的5条高级技巧: 保持统一的编码风格 仔细思考你的注释并随时更新 尽可能使用版本控制 信息化提交消息 不要害怕来自同事的反馈 编码风格 编码风格要前后一致,没有唯一,几个多数程序员都赞成的风格: # 原代码 for (a in 1:9) { print(a*2)} # Ctrl-I for (a in 1:9) { print(a*2)} # Ctrl-Shfit-A for (a in 1 git checkout -b test #相当于创建一个分支并转入分叉类似分支,但存放在别人机器上,通过git clone可以将该分叉克隆到本地,更易于协作2、能否再改善 3、代码是否符合已有编程风格 4、有自动测试吗?是否充分? 例子位于帮助底部 阅读源码 Rstudio,单击某函数,按F2,即会打开源代码(有的笔记本可能要按Fn+F2) 比如这个rowname()的 function (x, do.NULL = TRUE, prefix

    1.3K20发布于 2021-07-27
  • Claude Agent Teams:多智能体协作编程的新范式

    虽然Agent Teams仍处于早期阶段,但其展现的协作潜力为探索新的编程工作流提供了可能性。 配置:在iTerm2中启用Python API(iTerm2 → Settings → General → Magic → Enable Python API) 适用:本地开发,需要高度可视化的场景 成本优化:通过技术优化降低Token消耗 结语:拥抱多智能体协作的未来 Claude Agent Teams代表了AI辅助编程的下一个前沿——从工具到团队,从单点智能到群体智能。 虽然它仍处于早期阶段,但其展现的协作潜力为探索新的编程工作流提供了可能性。 技术的进步往往始于勇敢的尝试。 当你准备好探索多智能体协作的可能性时,Claude Agent Teams就在那里,等待着与你一起探索编程的新可能性。

    1.7K20编辑于 2026-03-10
  • 来自专栏窗户

    shell编程字库裁剪(2)——编程过程

      之所以想用shell实现,是因为shell是UNIX/LINUX的工作语言,可以实现很强大的功能,所以借此话题顺带讲一下shell编程的思路。 就嵌入的编程语言来说,awk/sed/bc这些算是shell“本家”的,而python/perl这些,不太像是shell本家的。    其中,(2)、(3)两个数组用结构体的方式合为一个数组,C语言的可读性更强一些。   那么,和其他的编程一样,我们先确定这个程序的框架: #! key2 = (unsigned short)chinese_font[mid].GBH<<8; key2 |= (unsigned key2 = (unsigned short)chinese_font[mid].GBH<<8; key2 |= (unsigned

    1.1K100发布于 2018-02-07
  • 来自专栏Golang语言社区

    实效go编程--2

    除了矩阵变换这类需要明确维度的情况外,Go中的大部分数组编程都是通过切片来完成的。 切片保存了对底层数组的引用,若你将某个切片赋予另一个切片,它们会引用同一个数组。 以下简单的例子 x := []int{1,2,3} x = append(x, 4, 5, 6) fmt.Println(x) 将打印 [1 2 3 4 5 6]。 fmt.Sprintf("%.2fEB", b/EB) case b >= PB: return fmt.Sprintf("%.2fPB", b/PB) case b >= TB: return fmt.Sprintf("%.2fTB", b/TB) case b >= GB: return fmt.Sprintf("%.2fGB fmt.Sprintf("%.2fKB", b/KB) } return fmt.Sprintf("%.2fB", b) } 表达式 YB 会打印出 1.00YB,而 ByteSize

    1.1K70发布于 2018-03-26
  • 来自专栏懒人的运维备忘录

    Shell 编程2)- 变量

    2.变量的引用方式 $str 或 ${str},如echo "the var is ${str}" str='Hello,world!' echo '$#:'$# echo '$@:'$@ echo '$*:'$* echo '$0:'$0 echo '$1:'$1 echo '$2:'$2 echo '$3:'$3 echo '$4:' /var.sh $1:a $2:b $3:c $4:d 轮替变量 使用shift [N]可以指定参数轮替,每执行一次 shift N,就踢掉 N 个参数,默认 N=1。 例如在脚本中: echo $1 #输出第一个参数值 shift 2 #踢掉前两个参数,$1的值变成第三个参数的值 shfit #再踢掉一个参数,$1的值变成第四个参数的值 echo $1 #输出第四个参数的值 2.脚本配置文件 配置文件中的变量值可以在脚本中被使用。

    1.1K00发布于 2019-01-25
  • 来自专栏码猴小明

    多任务编程 - 2

    2、线程的概念 线程是进程中执行代码的一个分支,每个执行分支(线程)要想工作执行代码需要cpu进行调度,也就是说线程是cpu调度的基本单位,每个进程至少有一个线程,而这个线程就是我们常说的主线程。 ---- 多线程的使用 1、导入线程模块 # 导入线程模块 import threading 2、线程类Thread参数说明 Thread([group[,target[,name[,args[,kwargs 2、互斥锁的使用 threading模块中定义了Lock变量,这个变量本质上是一个函数,通过调用这个函数可以获取一把互斥锁。 进程和线程都是完成多任务的一种方式 多进程要比多线程消耗的资源多,但是多进程开发比单进程开发稳定性要强,某个进程挂掉不会影响其他的进程 多进程可以使用CPU的多核运行,多线程可以共享全局变量 如果前面还不太了解的朋友可以看看《多任务编程 - 1》哦 多任务编程 - 1 END

    57420编辑于 2022-01-20
  • 来自专栏世荣的博客

    渗透测试-编程-2

    这时候突然想到一个解决方案,那就是Python2中的raw_input()函数,Python3中和input()合并了,但是相比于后者,raw_input()返回的是字符,如此以来只需简单的修改代码,就可以 ,我们在Python2的环境中运行即可。

    39930编辑于 2022-03-22
  • 来自专栏老高的技术博客

    简单socket编程2

    上一节我们提到了socket编程的基本形式,这一节我们加强服务端的性能! #!

    28540编辑于 2022-12-28
  • 来自专栏菩提树下的杨过

    bashshell编程学习(2)

    "" if [ -n "$str2" ]; then echo 'str2 is not empty' else echo 'str2 is empty' fi printf "\n" if [ "$str1" = "$str2" ]; then echo 'str1 = str2' else echo 'str1 <> str2' fi 注: -n即-not empty判断字符串非空 <> str2' str1 <> str2 4.3 文件及目录判断 #! 解释:如果命令1返回成功,则命令2会执行,示例: #! 解释:这个正好跟&&相反,如果命令1返回失败,则执行命令2 #!

    71030发布于 2018-09-20
  • 2025年AI编程工具革命:云端协作如何重塑团队开发?

    摘要 在AI技术深度渗透的2025年,云端协作已成为团队开发的核心竞争力。 导语 当AI从单点效率工具进化为「虚拟开发团队」,云端协作能力已成为衡量编程工具价值的核心指标。面对微服务架构普及与DevOps流程复杂化,团队亟需既能打破空间限制、又能保障代码安全的智能协作方案。 本文将揭晓2025年最具竞争力的5款云端AI编程工具,并深度解析腾讯云代码助手的革新突破。 、工程师角色Agent,支持需求澄清与技术方案规划 安全沙盒环境:每个任务在独立容器中运行,杜绝代码泄露风险(通过等保2.0三级认证) 2. 2周压缩至3天 3.

    73410编辑于 2025-11-10
  • 来自专栏JAVA并发编程

    JAVA并发编程系列(10)Condition条件队列-并发协作

    = 0) { consumer.await(); } //消费者消费产品,耗时2s 定义了2个核心方法。一个是await()方法,可以让线程进入阻塞等待。另一个是signal()方法,可以唤醒指定线程。 2、Condition的条件等待唤醒和Object.wait()、notify()有什么区别 问到正主了,其实这个问题也就是问:Condition的优点有哪些。 最开始我们学JAVA编程,都是从synchronized开始,线程并发协调,常用的就是对象的wait(),nofity()方法。 目前已分享synchronized、volatile、AQS、CAS、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier、Condition,并发编程里的基础中的基础已经分享完了

    35220编辑于 2024-09-23
领券