为了账号安全,请及时绑定邮箱和手机立即绑定

线程从 Java 开始

线程从 Java 开始

温温酱 2021-11-01 17:34:05
我如何将下面的代码转换为Go,您可以在下面看到我的尝试,但是因为我正在等待一个键输入,该代码将始终返回20000java 将输出不同结果的位置。我知道两者都有竞争条件,但我只想知道翻译。爪哇public class Counting {    public static void main(String[] args) throws InterruptedException {      class Counter {        private int count = 0;        public void increment() { ++count; }        public int getCount() { return count; }      }    final Counter counter = new Counter();    class CountingThread extends Thread {        public void run() {            for(int x = 0; x < 10000; ++x)                counter.increment();            }    }    CountingThread t1 = new CountingThread();    CountingThread t2 = new CountingThread();    t1.start(); t2.start();    t1.join(); t2.join();    System.out.println(counter.getCount());  }}这是我的尝试:import (  "fmt")type Counting struct {  count int}var counter = Counting{}func (c *Counting) increment() {  c.count++}func (c *Counting) getCount() int {  return c.count}func CountingThread() {  for i := 0; i < 10000; i++ {    counter.increment()  }}func main() {  go CountingThread()  go CountingThread()  var input string  fmt.Scanln(&input)  fmt.Println(counter.getCount())}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号