Debian 爱好者社区 为您找到相关结果 707

Golang常见的十大算法精简版

} /*** * go特有变量交换 */ func SwapGo(list []int, i, j int) { list[i],list[j]=list[j],list[i] } /*** * go变量高阶交换(不推荐,一般不好理解) */ func SwapGoAdvanced(list []int, i, j int) { list[i]=list[i]+list[j] list[j]=list[i]-list[j] list[i]=list[i]-list[j] } 运行排序方法 使用终端执行go get github.com/e9ab98e991ab/go-algorithm执行touch main.go执行vim main.go拷贝下方代码块代码到main.go文件中wq保后直接执行go run...阅读全文

博文 2019-09-05 09:31:10 debian.cn

深入学习golang — channel

可以提供一个可选的整型参数,用于置该channel的缓冲区大小。该值缺省为0,用来构建默认的“无缓冲channel”,也称为“同步channel”。 Channel作为goroutine间的一种通信机制,与操作系统的其它通信机制类似,一般有两个目的:同步,或者传递消息。 2. 同步 c := make(chan int) // Allocate a channel. // Start the sort in a goroutine; when it completes, signal on the channel. go func() { list.Sort() c <- 1 // Send a signal; value does not matter...阅读全文

博文 2021-01-25 12:39:17 博客园

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

展。去年我们与华为、中国移动宣布了一个开源项目,后来有中国电信和中国联通的加入;再后来又有国际运营商 AT&T、Orange 和中国一些企业共同联手合作,希望能够建立世界上最大的开源的电信类基础施。由此可以看到现在中国也有一些高质量的开源项目。” 最后,Jim 寄语 LC3 活动: “我们之所以举办 LC3 大会是希望全世界顶尖的开发者和中国的企业、顶尖开发者共聚一堂,分享最佳实践,我们相信未来中国会有更多的自主的开源的项目。 届时,Linux 创始人 Linus Torvalds 将来到中国,和中国开源的开发者进行交流,希望能够推动中国的开源项目不断地发展和扩展。 大会还邀请到开源项目和技术方面的有 OpenStack 项目执行董事、Kubernetes 项目负责人...阅读全文

博文 2021-01-28 17:50:33 debian.cn

Jono Bacon: GPL 没落了吗?

系、构建联盟,找到并解决行业问题。 在这个峰会上,有一个分组研究,在其中,与会者被分成小组,被要求给一个真实在的核心的开源技术推荐一个开源协议。每个小组都给出了回应。不到十分之一的小组推荐了宽容许可证,没有人推荐 GPL 许可证。 我看到了开源行业对于 Apache 协议以及 MIT 协议的逐步认可,但是他们却对花时间理解、接受和熟悉 GPL 这件事高高挂起。 在这几年里,这种趋势仍在蔓延。除了 Black Duck 的调查之外, 2015 年 GitHub 上的开源协议调查 也显示 MIT 是人们的首选。我还能看到,在我工作的 XPRIZE (我们为我们的 Global Learning XPRIZE 选择了开源协议),在我作为社区领导顾问的工作方面,我也能感觉到那种倾向,因为越来越多的...阅读全文

博文 2017-08-04 08:03:43 debian.cn

谷歌元老施密特隐退:传奇落幕 新篇开启

程技术平台。而到了 Novell 之后用了不到三年就使这家公司扭亏为盈,最后的亏损其实很大程度上需要归结为微软的打压和互联网泡沫的破裂,那次失败真不是施密特能控制的。所以 Novell 公司在他担任谷歌 CEO 之后依然为他保留了董事会主席席位,以示尊重。 施密特的地位堪比二位创始人 谷歌由佩奇和布林创立于1998年,但是直到2001年施密特担任 CEO,谷歌依然只是一个技术还不错,但是完全没办法赚钱的小公司,施密特本人就曾直言:“他们在各个方面的看法,都与我不尽相同。让人搞不清他们的思路究竟是令人耳目一新的远见,还是单纯天真。” 而施密特的加入,正好为两位创始人天马行空的想打下了良好的基础——钱。施密特发现了搜索业务和广告之间的高度关联性,并由此创造了搜索广告这一革命性的盈利模式,直到现...阅读全文

博文 2017-12-24 09:18:44 debian.cn

Go 语言的大版本更新:Go 2.0 安排上了

述。 Go 1 和 Go 2 之间的主要区别在于主导权的不同。谁将影响计,又该如何做出决策?我们都知道,Go 1 的诞生是小团队努力的结果,受外部影响不大;而到了 Go 2,尤其是经过将近 10 年的发展后,Go 语言的生态已经十分庞大,因此它也更多地受到社区的驱动和影响。经历了这些,Go 开发团队也了解到了更多一开始不知道的与语言特性和库相关的知识 —— 这些都来自于 Go 社区的反馈。 2015年,Go 开发团队引入了提案流程,以收集特定类型的反馈:针对语言和库变更方面的提案。由 Go 开发团队高级成员组成的委员会定期审查、分类和决定社区提交的提案。这个流程十分有效,但作为该过程的一部分,他们忽略了所有不向后兼容的提案,只是将其标记至 Go 2。到了2017年,Go 开发团队也停止进行...阅读全文

什么是线程安全,以及并发需要知道的几个概念

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,强调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这三种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是由于程序的计不合理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种原因无法获得所需的资源,导致一直无法执行...阅读全文

博文 2018-12-31 20:44:06 debian.cn