A Seat at the Table - IT Leadership in the Age of Agility
A Seat at the Table – IT Leadership in the Age of Agility – Part 3 By Mark Schwartz “Courage, I say, is the value most needed by Agile IT leaders.” – Mark Schwartz Last Time in Part 2 Enterprise effort, FOC is in no sense a “final” operating capability. Quality It is difficult for IT to gain a seat at the table when IT is always failing, but on the other hand, an IT leader who is reacting to statistical Place at the Table IT leadership runs the business along with the others who run the business. The seat at the table is earned by being at the table. The role of senior IT leadership has always been framed0 码力 | 7 页 | 387.48 KB | 5 月前3A Seat at the Table - IT Leadership in the Age of Agility
A Seat at the Table – IT Leadership in the Age of Agility By Mark Schwartz “Mark Schwartz is a rare combination: a deep thinker who has also applied lean, Agile, and DevOps principles at the highest value by adopting an intelligent attitude toward risk. Quality: It is difficult for IT to gain a seat at the table when IT is always failing, but on the other hand, an IT leader who is reacting to statistical an Enterprise Strategist at Amazon Web Services and the author of The Art of Business Value and A Seat at the Table: IT Leadership in the Age of Agility. Before joining AWS he was the CIO of US Citizenship0 码力 | 4 页 | 379.23 KB | 5 月前3A Seat at the Table: IT Leadership in the Age of Agility - Part 2
A Seat at the Table – IT Leadership in the Age of Agility – Part 2 By Mark Schwartz “To the talented and hard-working government employees, so resilient in the face of impediments, criticism, and abuse value by adopting an intelligent attitude toward risk. Quality: It is difficult for IT to gain a seat at the table when IT is always failing, but on the other hand, an IT leader who is reacting to statistical an Enterprise Strategist at Amazon Web Services and the author of The Art of Business Value and A Seat at the Table: IT Leadership in the Age of Agility. Before joining AWS he was the CIO of US Citizenship0 码力 | 7 页 | 387.61 KB | 5 月前3Go 101 (Golang 101) v1.21.0
) 8. 9. type Seat int 10. type Bar chan Seat 11. 12. func (bar Bar) ServeCustomer(c int) { 13. log.Print("customer#", c, " enters the bar") 14. seat := <- bar // need a seat to drink 15. log c, " drinks at seat#", seat) 16. time.Sleep(time.Second * time.Duration(2 + rand.Intn(6))) 17. log.Print("-- customer#", c, " frees seat#", seat) 18. bar <- seat // free seat and leave the bar seatId < cap(bar24x7); seatId++ { 28. // None of the sends will block. 29. bar24x7 <- Seat(seatId) 30. } 31. 32. for customerId := 0; ; customerId++ { 33. time.Sleep(time.Second)0 码力 | 610 页 | 945.17 KB | 1 年前3Go 101 (Golang 101) v1.21.0
9| type Seat int 10 | type Bar chan Seat 11 | 12 | func (bar Bar) ServeCustomer(c int) { 13 | log.Print("customer#", c, " enters the bar") 14 | seat := <- bar // need a seat to drink " drinks at seat#", seat) 16 | time.Sleep(time.Second * time.Duration(2 + rand.Intn(6))) 17 | log.Print("-- customer#", c, " frees seat#", seat) 18 | bar <- seat // free seat and leave the seatId < cap(bar24x7); seatId++ { 28 | // None of the sends will block. 29 | bar24x7 <- Seat(seatId) 30 | } 31 | 32 | for customerId := 0; ; customerId++ { 33 | time.Sleep(time0 码力 | 880 页 | 833.34 KB | 1 年前3Go 101 (Golang 101) v1.21.0
8| 9| type Seat int 10| type Bar chan Seat 11| 12| func (bar Bar) ServeCustomer(c int) { 13| log.Print("customer#", c, " enters the bar") 14| seat := <- bar // need a seat to drink 15| c, " drinks at seat#", seat) 16| time.Sleep(time.Second * time.Duration(2 + rand.Intn(6))) 17| log.Print("-- customer#", c, " frees seat#", seat) 18| bar <- seat // free seat and leave the seatId < cap(bar24x7); seatId++ { 28| // None of the sends will block. 29| bar24x7 <- Seat(seatId) 30| } 31| 32| for customerId := 0; ; customerId++ { 33| time.Sleep(time0 码力 | 630 页 | 3.77 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
"math/rand" 7| ) 8| 9| type Seat int 10 | type Bar chan Seat 11 | 12 | func (bar Bar) ServeCustomer(c int) { 13 | log.Print("顾客#", c, "进入酒吧") 14 | seat := <- bar // 需要一个位子来喝酒 15 | drinks at seat#", seat) 16 | log.Print("++ 顾客#", c, "在第", seat, "个座位开始饮酒") 17 | time.Sleep(time.Second * time.Duration(2 + rand.Intn(6))) 18 | log.Print("-- 顾客#", c, "离开了第", seat, "个座位") 19 | bar <- seat // 释放座位,离开酒吧 20 | } 21 | 22 | func main() { 23 | rand.Seed(time.Now().UnixNano()) // Go 1.20之前需要 24 | 25 | bar24x7 := make(Bar, 10) // 此酒吧有10个座位 26 | // 摆放10个座位。0 码力 | 821 页 | 956.82 KB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
type Seat int type Bar chan Seat func (bar Bar) ServeCustomer(c int) { log.Print("顾客#", c, "进入酒吧") seat := <- bar // 需要一个位子来喝酒 log.Print("++ customer#", c, " drinks at seat#", seat) log log.Print("++ 顾客#", c, "在第", seat, "个座位开始饮酒") time.Sleep(time.Second * time.Duration(2 + rand.Intn(6))) log.Print("-- 顾客#", c, "离开了第", seat, "个座位") bar <- seat // 释放座位,离开酒吧 } func main() { 此酒吧有10个座位 // 摆放10个座位。 for seatId := 0; seatId < cap(bar24x7); seatId++ { bar24x7 <- Seat(seatId) // 均不会阻塞 } for customerId := 0; ; customerId++ { time.Sleep(time.Second)0 码力 | 608 页 | 1.08 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
"math/rand" 7| ) 8| 9| type Seat int 10| type Bar chan Seat 11| 12| func (bar Bar) ServeCustomer(c int) { 13| log.Print("顾客#", c, "进入酒吧") 第37章:通道用例大全 375 14| seat := <- bar // 需要一个位子来喝酒 drinks at seat#", seat) 16| log.Print("++ 顾客#", c, "在第", seat, "个座位开始饮酒") 17| time.Sleep(time.Second * time.Duration(2 + rand.Intn(6))) 18| log.Print("-- 顾客#", c, "离开了第", seat, "个座位") 19| 19| bar <- seat // 释放座位,离开酒吧 20| } 21| 22| func main() { 23| rand.Seed(time.Now().UnixNano()) // Go 1.20之前需要 24| 25| bar24x7 := make(Bar, 10) // 此酒吧有10个座位 26| // 摆放10个座位。 27|0 码力 | 591 页 | 21.40 MB | 1 年前3Back to Basics: Concurrency
Outcome depends on the arbitrary scheduling decisions elsewhere in the system ○ e.g. Who gets the last seat on the airplane. 2. Starvation/Fairness: External events and/or scheduling decisions can prevent Outcome depends on the arbitrary scheduling decisions elsewhere in the system ○ e.g. Who gets the last seat on the airplane. 2. Starvation/Fairness: External events and/or scheduling decisions can prevent0 码力 | 141 页 | 6.02 MB | 5 月前3
共 126 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13